第一个只出现一次的字符

在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).

解法:

class Solution {
public:int FirstNotRepeatingChar(string str) {unordered_map<char, int> mp;for(auto &c : str) ++mp[c];for(int i = 0; i < str.size(); ++i){if(mp[str[i]] == 1)return i;}return -1;}
};

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/385121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Leetcode》目录

序号题目题解标记1 43. 字符串相乘 字符串2513. 找树左下角的值二叉树3 450. 删除二叉搜索树中的节点 二叉树486. 分隔链表链表155 155. 最小栈 C题解栈77. 组合C题解回溯算法15.三数之和C题解

一个C++程序执行main函数前和执行完main函数后会发生什么。

总结&#xff1a; main函数执行之前&#xff0c;主要就是初始化系统相关资源&#xff1a; 设置栈指针初始化static静态和global全局变量&#xff0c;即data段的内容将未初始化部分的赋初值&#xff1a;数值型short&#xff0c;int&#xff0c;long等为0&#xff0c;bool为FALS…

1144 The Missing Number (20 分)

Given N integers, you are supposed to find the smallest positive integer that is NOT in the given list. Input Specification: Each input file contains one test case. For each case, the first line gives a positive integer N (≤10​5​​). Then N integers are…

【面试宝典 | 01】面经

字节跳动提前批后端第三面凉经该来的终究会来的

1148 Werewolf - Simple Version (20 分)

Werewolf&#xff08;狼人杀&#xff09; is a game in which the players are partitioned into two parties: the werewolves and the human beings. Suppose that in a game, player #1 said: "Player #2 is a werewolf.";player #2 said: "Player #3 is a h…

算法默写

序号内容1快速排序算法2堆排序算法3归并排序算法

1149 Dangerous Goods Packaging (25 分)

When shipping goods with containers, we have to be careful not to pack some incompatible goods into the same container, or we might get ourselves in serious trouble. For example, oxidizing agent &#xff08;氧化剂&#xff09; must not be packed with flamma…

《数据结构与算法》

序号内容1排序算法概念2快速排序算法3堆排序算法4归并排序算法

一个类的指针指向NULL去访问该类的成员函数

对象指针为NULL&#xff0c;为什么还是可以调用成员函数

1091 N-自守数 (15 分)

如果某个数 K 的平方乘以 N 以后&#xff0c;结果的末尾几位数等于 K&#xff0c;那么就称这个数为“N-自守数”。例如 392​2​​25392&#xff0c;而 25392 的末尾两位正好是 92&#xff0c;所以 92 是一个 3-自守数。 本题就请你编写程序判断一个给定的数字是否关于某个 N 是…

1092 最好吃的月饼 (20 分

月饼是久负盛名的中国传统糕点之一&#xff0c;自唐朝以来&#xff0c;已经发展出几百品种。 若想评比出一种“最好吃”的月饼&#xff0c;那势必在吃货界引发一场腥风血雨…… 在这里我们用数字说话&#xff0c;给出全国各地各种月饼的销量&#xff0c;要求你从中找出销量冠军…

86. 分隔链表

给定一个链表和一个特定值 x&#xff0c;对链表进行分隔&#xff0c;使得所有小于 x 的节点都在大于或等于 x 的节点之前。 你应当保留两个分区中每个节点的初始相对位置。 示例: 输入: head 1->4->3->2->5->2, x 3 输出: 1->2->2->4->3->5 来…

1094 谷歌的招聘 (20 分)

2004 年 7 月&#xff0c;谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌&#xff08;如下图&#xff09;用于招聘。内容超级简单&#xff0c;就是一个以 .com 结尾的网址&#xff0c;而前面的网址是一个 10 位素数&#xff0c;这个素数是自然常数 e 中最早出现的 10 位连续…

Observer观察者模式

#include <iostream> #include <list> using namespace std;class Observer;class Subject { //抽象被观察者 public:virtual void Attach(Observer*) 0;virtual void Detach(Observer*) 0;virtual void Notify() 0;virtual int GetState() { return state_; }v…

1093 字符串A+B (20 分)

给定两个字符串 A 和 B&#xff0c;本题要求你输出 AB&#xff0c;即两个字符串的并集。要求先输出 A&#xff0c;再输出 B&#xff0c;但重复的字符必须被剔除。 输入格式&#xff1a; 输入在两行中分别给出 A 和 B&#xff0c;均为长度不超过 10​6​​的、由可见 ASCII 字符…

1095 解码PAT准考证 (25 分)

PAT 准考证号由 4 部分组成&#xff1a; 第 1 位是级别&#xff0c;即 T 代表顶级&#xff1b;A 代表甲级&#xff1b;B 代表乙级&#xff1b;第 2~4 位是考场编号&#xff0c;范围从 101 到 999&#xff1b;第 5~10 位是考试日期&#xff0c;格式为年、月、日顺次各占 2 位&am…

《基础算法》

序号内容1工厂模式2观察者模式3单例模式4策略模式5memcpy、memmove6strpcy7strcat8strcmp9快速排序算法10归并排序算法11堆排序算法

C++ STL之Vector

向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 vector 属于STL(Standard Template Library, 标准模板库)中的一种自定义的数据类型, 可以广义上认为是数组的增强版。vector是C用于数组类的容器&#xff0c;它可以被近似的认为是一个自动增长…

字符流中第一个不重复的字符

题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如&#xff0c;当从字符流中只读出前两个字符"go"时&#xff0c;第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时&#xff0c;第一个只出现一次的字符是&q…

C++ STL之Set

set是关联容器&#xff0c;类似于集合。 特点是里面的元素不会重复&#xff0c;而且元素时有序的。 1.声明定义&#xff1a; #include<set>using namespace std;set<int> s; 2.常见用法 s.inert(5); //插入 s.begin(); //返回s的第一个元素 s.end(); // 返回最后一…