题目信息 时间: 2019-07-03 题目链接:Leetcode tag:哈希表 难易程度:简单 题目描述: 在字符串 s 中找出第一个只出现一次的字符.如果没有,返回一个单空格. s 只包含小写字母. 示例: s = "abaccdeff" 返回 "b" s = "" 返回 " " 注意 1. 0 <= s 的长度 <= 50000 解题思路 本题难点 字符串查找第一个只出现一次的字符,性能最优. 具体思路 哈…
剑指 Offer 50. 第一个只出现一次的字符 Offer_50 题目详情 方法一:使用无序哈希表 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/2/8 22:13 */ import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; /** * 题目详情:在字符串 s 中找出第一个只出现一次的字符.如果没…
在字符串 s 中找出第一个只出现一次的字符.如果没有,返回一个单空格. s 只包含小写字母. 示例: s = "abaccdeff"返回 "b" s = "" 返回 " " 限制: 0 <= s 的长度 <= 50000 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/di-yi-ge-zhi-chu-xian-yi-ci-de-zi-fu-lcof //时间复…
class Solution { public: int FirstNotRepeatingChar(string str) { map<char,int>mp; ;i<str.size();i++){ mp[str[i]]++; } ;i<str.size();i++){ ) return i; } ; } }; C++ Map常见用法说明: https://blog.csdn.net/shuzfan/article/details/53115922 C++ STL中哈希表 ha…
本题 题目链接 题目描述 我的题解 (方法三应用更广泛:方法一虽有限制,但很好用,此题中该方法效率也最高) 方法一:(适用于范围确定的) 思路分析 该字符串只包含小写字母,即字符种类最多26个 开一个数组yes[26],分别存放字母a-z所出现的次数. 字符c对应的数组下标索引为为:c-97. 我的代码中,为了节约空间,取的是byte类型数组: 当某个字符出现次数<2,该字符对应的数组值+1: 否则(即出现次数>=2,不符合题目要找的),不处理该字符对应的数组值(即不再+1,因为byte类型最…
[剑指Offer]第一个只出现一次的字符 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目描述: 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置 解题方法 没想到这么简单的题,竟然在剑指Offer这么靠后的位置.题目说了,找出第一个只出现一次的字符,所以,我们先对每个字符出现的字符进行个数统计,然后再对原字符串进行遍…
该题目来源于牛客网<剑指offer>专题. 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写) Go语言实现: func firstUniqChar(s string) int { //假设都是大小写字母,定义一个数组 list := [52]int{} //算出每个字符出现的次数 for _, x := range s { list[x-'a']++ } //算出首次出现且次数为1的…
本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结:…
题目:在字符串中找出第一个只出现一次的字符.如输入"abaccdeff",这输出'b' // 第一个只出现一次的字符 #include <stdio.h> char first_not_repeat_char(char *s) { ]={}; char *pkey; if( s==NULL ) { printf("The string should not be NULL\n"); return '\0'; } for(pkey=s; *pkey !=…
题目描述: 在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符. 输入: 输入有多组数据每一组输入一个字符串. 输出: 输出第一个只出现一次的字符下标,没有只出现一次的字符则输出-1. 样例输入: ABACCDEFF AA 样例输出: - 解题思路: 首先考虑到时间复杂度,对字符串进行排序或者双层扫描都会到达O(nlong)---O(n^2)的地步. 所以我们考虑额外使用一个数组进行计数,线性时间扫描数组,然后再按照原来的顺序扫描数组找到次数为1的,…