题目: 在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 示例: s = "abaccdeff"返回 "b" s = "" 返回 " " 限制: 0 <= s 的长度 <= 50000 解答:暴力方式,对每个字符,比较后面是否存在相同的,复杂度O(N^2);采用哈希表方式,使用 ...
分类:
其他好文 时间:
2020-05-08 23:05:22
阅读次数:
60
// 面试题50(一):字符串中第一个只出现一次的字符 // 题目:在字符串中找出第一个只出现一次的字符。如输入"abaccdeff",则输出 // 'b'。 #include <cstdio> #include <string> char FirstNotRepeatingChar(const c ...
分类:
其他好文 时间:
2020-04-05 18:12:50
阅读次数:
69
题目一 : 字符串中第一个只出现一次的字符。在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出‘b’。 思路 利用数组第一次遍历字符串记录所有字符出现的次数,第二次查找value值为1的为所需要的,这里用数组比较合适,用HashMap会有问题,比如“google”,得出的结果 ...
分类:
其他好文 时间:
2018-07-24 11:55:26
阅读次数:
154
在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。 (1)不使用额外空间,时间复杂度是O(n^2) 像冒泡排序那样,内存循环对外循环判断,比如第一个a,扫描后续元素,有a则不满足。 (2)哈希表。 扫描完字符串后,就扫描哈希表:if(flag == 1 && a[ i ] ...
分类:
其他好文 时间:
2017-12-01 17:40:13
阅读次数:
176
用到的算法都是像冒泡排序,直接选择排序,插入排序 每趟进行处理,这个趟是没有什么实际意义的 变量j一次从头走到尾进行一次循环枚举遍历扫描 一、题目:第一个只出现一次的字符 题目:在字符串中找出第一个只出现一次的字符。如输入"abaccdeff",则输出'b'。要求时间复杂度为O(n)。 最直观的想法 ...
分类:
编程语言 时间:
2017-07-29 15:19:42
阅读次数:
237
偶然在群里看到这个小题, 就用python做了做。 思路就是建一个够大的列表并初始化,把每个字符的asc码作为下标,存到列表里, 然后该位置的值就存字母的出现次数, 最后再迭代原字符串并判断列表值是否等于1。 输出第一个值为1的字符即可。 ps:ord()是把字符串转换为它的asc码。 实现如下: ...
分类:
其他好文 时间:
2016-10-15 16:46:02
阅读次数:
125
题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。 代码如下: import java.util.Scanner; public class Test2 { public static char first(String s) { char result = '0' ...
分类:
其他好文 时间:
2016-08-23 21:55:58
阅读次数:
117
这同样是剑指Offer中的很经典的一道面试题。题目描述为:在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出'b'. 一开始大家就会想到最简单的方法就是每访问到一个字符的时候,与后面的每一个字符去进行比较,若没有发现相同的元素,那么该元素就是第一个只出现一次的字符。这样的复杂度为O(n^2). 显然这样的效率不高。 这道题的大方向就是一题查找算法,常见的查...
分类:
编程语言 时间:
2016-08-21 21:23:57
阅读次数:
180
题目:在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出‘b’。 思路1:遍历,也就是从头开始取字符串中的一个字符,将其与其后的所有字符比较,如果有相同的字符,那么就证明它不是只出现一次的字符。当第一次出现遍历完其后字符并且没有重复时,表明这个字符就是“第一个只出现一次的字符 ...
分类:
其他好文 时间:
2016-07-01 21:25:52
阅读次数:
156
第一个只出现一次的字符:在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”则输出b 答案:由于题目出现了与字符出现次数相关。我们可以利用一个容器来存放每个字符出现的次数,也就是说这个容器的作用是把一个字符隐射成一个数字。所以我们利用哈希表。 ...
分类:
其他好文 时间:
2016-06-11 10:34:56
阅读次数:
413