编程题,这个怎么解?

题目描述:一次遍历,找到字符串中的第一个唯一字符。(限Java语言)(补充:是返回字符对应的索引值)(再补充:时间复杂度要是n而不是2n)#笔试题目#
全部评论
打开电脑,打开ide,关机
点赞 回复
分享
发布于 2021-03-08 11:02
剑指offer原题,创建个字符数组,遍历字符串统计每个字符出现次数,再遍历一次字符串,第一个出现次数为1的字符就是所求字符
点赞 回复
分享
发布于 2021-03-08 13:55
小红书
校招火热招聘中
官网直投
补充:返回的索引,是找到这个字母,返回它的索引
点赞 回复
分享
发布于 2021-03-08 20:03
字符串变成字符数组,然后创建一个内容是0的长度一样的int数组。一次遍历字符数组,每次遍历把相同索引位置的数+1,然后判断是否大于1,是就返回索引位置
点赞 回复
分享
发布于 2021-03-09 01:04
创建一个字典,然后开始遍历将遍历到的每个字符加入到字典中,如果字典中已经有了就将其对应的V设置为-1,最后找到第一个V不为-1的就行了
点赞 回复
分享
发布于 2021-03-12 15:52
我有一个想法,不知道可不可以。用一个LinkedList存元素,一个HashMap存关系<String,Index>,遍历数组的时候将元素放入LinkedList1,元素和角标关系放入HashMap,如果遇上相等的字符将移除LinkedList1中指定元素,HashMap你就一直put就行 不用管。最后取LinkedList第一个元素做key,map.get(key)即可
点赞 回复
分享
发布于 2021-03-12 23:39
可以试下优先队列
点赞 回复
分享
发布于 2021-03-21 21:45

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务