博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
387. First Unique Character in a String
阅读量:5266 次
发布时间:2019-06-14

本文共 1254 字,大约阅读时间需要 4 分钟。

problem

Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.Examples:s = "leetcode"return 0.s = "loveleetcode",return 2.Note: You may assume the string contain only lowercase letters.
  • 在字符串中寻找第一个不重复的字母,返回位置(没有则返回-1)

solution

  1. 求一个重复字母的集合。
  2. 寻找第一个不在集合的元素
class Solution(object):    def firstUniqChar(self, s):        """        :type s: str        :rtype: int        """        double = []                for x in set(s):            if s.count(x)>1:                double.append(x)                        for x,y in enumerate(s):            if y not in double:                return x         return -1

discuss solution

  • 建一个包含26个字母数值的list;第一遍循环,每发现一次某字母,对其做一个标示;第二次循环,发现字母标示为(出现1次)
  • 根据字母index(first one == last one)(java特性? s.indexOf(a[i])==s.lastIndexOf(a[i]))
str.rfind(sub[, start[, end]])Return the highest index in the string where substring sub is found, such that sub is contained within s[start:end]. Optional arguments start and end are interpreted as in slice notation. Return -1 on failure.str.rindex(sub[, start[, end]])Like rfind() but raises ValueError when the substring sub is not found.
if s.find(x)==s.rfind(x):    return s.find(x)

转载于:https://www.cnblogs.com/salmd/p/5964584.html

你可能感兴趣的文章
转获取sql维护的表关系
查看>>
Java 序列化
查看>>
Java 时间处理实例
查看>>
Java 多线程编程
查看>>
Java 数组实例
查看>>
mysql启动过程
查看>>
2017前端面试题总结
查看>>
Http GetPost网络请求
查看>>
SWIFT国际资金清算系统
查看>>
Sping注解:注解和含义
查看>>
站立会议第四天
查看>>
如何快速掌握一门技术
查看>>
利用AMPScript获取Uber用户数据的访问权限
查看>>
vagrant 同时设置多个同步目录
查看>>
python接口自动化28-requests-html爬虫框架
查看>>
生成随机数的模板
查看>>
Mysql 数据库操作
查看>>
转:linux终端常用快捷键
查看>>
A-Softmax的总结及与L-Softmax的对比——SphereFace
查看>>
UVa 11059 最大乘积
查看>>