1542: 字符串中的第一个唯一字符(加强版)
Memory Limit:2 MB
Time Limit:0.035 S
Judge Style:Text Compare
Creator:
Submit:206
Solved:22
Description
给定一个只含有小写字母的字符串 str,找到它的按某种顺序第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。顺序是:1,2,3,5,7,11,…… 4,6,8,9,10,12 ……(即1,所有的素数位,所有的合数位)。(请你用队列来实现)
示例 1:
输入: str = “choice“ 输出: h 2
示例 2:
输入: str = "workworking” 输出: g 11
因为i是第9位,n是第10位,都没有第11素数位靠前,所以输出11。
示例 3:
输入: str = “cancan” 输出: -1
Input
输入一个只含有小写字母的字符串 str。str长度<=60000
Output
输出str的按顺序(1,素数位,合数位)第一个不重复的字符,并返回它的索引,字符与数字间空一格 。如果不存在,则返回 -1 。
Sample Input Copy
workworking
Sample Output Copy
g 11
HINT
约束:
- 1 <= str长度 <= 60000
- str 只包含小写字母
提示:
- 本题时间和内存限制都比较小。
- 注意算法的时间复杂度。
- 使用printf/scanf代替cout/cin可以缩短运行时间及减少内存的使用。
- 不用万能头头文件<stdc++.h>也能减少内存使用。