劍指offer之第一個只出現一次的字元
1.題目描述
在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫).
2.問題分析
- 第一次遍歷,統計每個字串出現的次數;
- 第二次遍歷,如果有那個字元出現次數為1,則返回該字元的位置,反之返回-1.
3.原始碼
int FirstNotRepeatingChar(string str)
{
int size = str.size();
int times[256]={0};
for(int i = 0; i < size; ++ i)
{
++times[str[i]];
}
for(int i = 0; i < size; ++i)
{
if(times[str[i]] == 1)
return i;
}
return -1;
}
相關推薦
劍指offer之第一個只出現一次的字元
1.題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 2.問題分析 第一次遍歷,統計每個字串出現的次數; 第二次遍歷,如果有那個字元出現次數為1,
(劍指offer)第一個只出現一次的字元
時間限制:1秒 空間限制:32768K 熱度指數:200407 本題知識點: 字串 題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 思路1(Map) im
【劍指Offer】第一個只出現一次的字元
題目連結 題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 分析:簡單計數並
[劍指offer] 34. 第一個只出現一次的字元
題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 一次遍歷儲存到雜湊表 一次遍歷取Value為1的第一個字元的索引 cla
[劍指offer] 34. 第一個只出現一次的字符
大小 返回 pin col value title repeat pub char 題目描述 在一個字符串(0<=字符串長度<=10000,全部由字母組成)中找到第一個只出現一次的字符,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 一次遍歷存儲到
python劍指offer系列第一個只出現一次的字元
題目:在一個字串(1<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置思路:建立一個雜湊表即可,python用字典代替,但是是無序的,所以再遍歷一次字串# -*- coding:utf-8 -*- class Solution
劍指offer-(第一個只出現一次的字元)
題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成) 中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 解題思路: 1、採用
劍指offer:第一個只出現一次的字元位置
public class Solution { public int FirstNotRepeatingChar(String str) { int flag = -1; if(str.length() == 0) return flag;
劍指offer--17.第一個只出現一次的字符
pes bject type tags ati 需要 時間限制 types label map默認對key進行排序,unordered_map不對鍵或值進行排序,但是也不是默認插入的順序 ------------------------------------------
劍指offer之陣列中只出現一次的數字
1.題目描述 一個整型數組裡除了兩個數字之外,其他的數字都出現了偶數次。請寫程式找出這兩個只出現一次的數字。 2.問題分析 方法一: 可以使用map,統計每個數出現的次數,之後對兩個出現一次的數進行賦值 方法二: 這裡就數字的特性,首先我們需要知
劍指Offer3:第一個只出現一次的字元
題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫). 解題思路 使用HashMap集合
劍指Offer32:第一個只出現一次的字元
思路: 利用雜湊表,雜湊表的下標是字元的ASCII值,值為字元出現的次數。 # -*- coding:utf-8 -*- class Solution: def FirstNotRepeatingChar(self, s): # write code here #建立
第一個只出現一次字元的位置 牛客網 劍指Offer
第一個只出現一次字元的位置 牛客網 劍指Offer 題目描述 在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回
劍指Offer-56 陣列中只出現一次的兩個數字
題目: 一個整型數組裡除了兩個數字之外,其他的數字都出現了兩次。請寫程式找出這兩個只出現一次的數字。你可以假設這兩個數字一定存在。 樣例 輸入:[1,2,3,3,4,4] 輸出:[1,2] 解答: class Solution(object): def findNumsAppe
劍指offer 40. 陣列中只出現一次的數字
原題 一個整型數組裡除了兩個數字之外,其他的數字都出現了偶數次。請寫程式找出這兩個只出現一次的數字。 Reference Answer 思路分析 直接利用python中的dict進行次數統計就好了,用空間換時間。 # -*- coding:utf-8 -*- class
【劍指offer】陣列中只出現一次的數字
remove:刪除特定元素第一次出現的時候,返回的是刪除後的陣列 del:刪除指定索引的元素 del a[2],返回的是刪除後的陣列 pop:刪除指定索引的元素,返回的是刪除的元素 有一個問題就是我不知道判斷not in list 的時候O(n)的複雜度會不會影響 執
[劍指offer] 40. 陣列中只出現一次的數字
題目描述 一個整型數組裡除了兩個數字之外,其他的數字都出現了偶數次。請寫程式找出這兩個只出現一次的數字。 思路: 解法一: 雜湊表 class Solution { public: void Find
劍指offer:陣列中只出現一次的數字(python)
題目描述一個整型數組裡除了兩個數字之外,其他的數字都出現了兩次。請寫程式找出這兩個只出現一次的數字。# -*- coding:utf-8 -*- class Solution: # 返回[a,b] 其中ab是出現一次的兩個數字 def FindNumsAppe
劍指Offer - 第一個只出現一次的字符位置
pid item tms cti ++ rank view gpo this https://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c?tpId=13&tqId=11187&tPag
劍指offer-第一個只出現一次的字符
題目 body HA 它的 log turn spa first 數組 題目描述 在一個字符串(1<=字符串長度<=10000,全部由字母組成)中找到第一個只出現一次的字符,並返回它的位置 解題思路 由於char類型一共有256種可能,所以開辟一個數組ha