当前位置: 首页 > 面试题库 >

手写代码:给一个字符串找出第一个只出现一次的字符位置

唐健
2023-03-14
本文向大家介绍手写代码:给一个字符串找出第一个只出现一次的字符位置相关面试题,主要包含被问及手写代码:给一个字符串找出第一个只出现一次的字符位置时的应答技巧和注意事项,需要的朋友参考一下

参考回答:

def first_not_repeating_char(string):
if not string:
return -1
resultDict = {}
for k, s in enumerate(string):
resultDict [s] = [resultDict [s][0] + 1,k] if resultDict .get(s) else [1,k]
pos = len(string)
ret = None
for x in resultDict :
if resultDict [x][0] ==1 and resultDict [x][1] <pos:
pos = resultDict [x][1]
ret = (x,pos)
return ret
 类似资料:
  • NowCoder 题目描述 在一个字符串中找到第一个只出现一次的字符,并返回它的位置。 // Input: abacc Output: b 解题思路 最直观的解法是使用 HashMap 对出现次数进行统计,但是考虑到要统计的字符范围有限,因此可以使用整型数组代替 HashMap,从而将空间复杂度由 O(N) 降低为 O(1)。 // java public int FirstNotRepeat

  • 一、题目 在字符串中找出第一个只出现一次的字符。 二、解题思路 第一种:直接求解: 从头开始扫描这个字符串中的每个字符。当访问到某字符时拿这个字符和后面的每个字符相比较,如果在后面没有发现重复的字符,则该字符就是只出现一次的字符。如果字符串有n个字符,每个字符可能与后面的O(n)个字符相比较,因此这种思路的时间复杂度是O(n^2)。 第二种:记录法 由于题目与字符出现的次数相关, 我们是不是可以统

  • 我面临着与Java的匹配器的其他问题。我试图使用正则表达式匹配我的JSON的内容,而不使用外部库。我的JSON看起来像这样: 但是,我只想匹配上半部分中的单词,即在第一个匹配。我试图创建一个新的模式和匹配器,但我不知道如何进行,也不知道如何在第一次出现

  • 问题内容: 我有类似’keepme:cutme’或’string-without-separator’之类的字符串,应分别成为’keepme’和’string- without-separator’。可以在PostgreSQL中完成吗?我试过了: 但这会留在字符串中,如果字符串中没有字符串,它将无法正常工作。 问题答案: 用途 : 如果分隔符不存在,则返回整个字符串。而且很容易获得第二或第三部分等

  • 我有一个字符串“aabccdeef” 现在我只想大写每个字符的第一次出现,以便在Java中o/p是AaBCcDEeF

  • 本文向大家介绍统计某一字符或字符串在另一个字符串中出现的次数相关面试题,主要包含被问及统计某一字符或字符串在另一个字符串中出现的次数时的应答技巧和注意事项,需要的朋友参考一下