First Unique Character in a String

Leave a comment

October 30, 2016 by oneOokay

首先呢,要注意审题(敲黑板)。

我的想法:

首先是冒出来了hashmap,存character和出现的次数。但是后来想,hashmap里头是无序的,怎么能够找到出现第一个出现次数为1的第一个character呢,而且也没有存index的信息。难道要构造一个class存char,出现次数和index?就算这样的话最后也不好进行排序。不可能啊于是作罢。

然后第二个想法:两个arraylist,一个存repeated characters,另一个存没有repeated characters。遍历s,先判断是否存在与repeated characters里头,存在跳过,不存在的话与none repeated characters里面比较,发现存在的话把它从none repeated里面挪到repeated里面去。到最后none repeated里面的第一个的index(用s.indexAt(c))即为答案。但是!character 转为char不会转=。= 作罢。(而且比较低效率吧这个)

看了眼正确答案,我的第一个想法是对的。遍历第一遍s构造好hashmap之后,再遍历一遍s,找到第一个出现次数为1的char的index就是了,不需要对hashmap按出现次数进行排序。。。这样子保证了按index第一个出现。(摊手

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: