题目描述

在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。

思路

详见链接

代码

class Solution:def firstUniqueChar(self, s:str)->str:dic = {}for c in s:dic[c] = not c in dicfor c in s:if dic[c]: return creturn ' '

时间复杂度 O(N): N为字符串 s 的长度;需遍历 s 两轮,使用 O(N) ;HashMap 查找的操作复杂度为 O(1) ;
空间复杂度 O(N) : HashMap 需存储 N 个字符的键值对,使用 O(N) 大小的额外空间。

剑指offer面试题50. 第一个只出现一次的字符(哈希表)相关推荐

  1. 剑指Offer - 面试题50. 第一个只出现一次的字符(unordered_map)

    1. 题目 在字符串 s 中找出第一个只出现一次的字符.如果没有,返回一个单空格. 示例: s = "abaccdeff" 返回 "b"s = "&q ...

  2. 剑指offer面试题[35]-第一个只出现一次的字符

    题目描述 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置. 分析:        这个题目最直观的思路是:从头开始扫描这个字符串 ...

  3. [剑指offer]面试题第[50]题[JAVA][第一个只出现一次的字符][哈希表][HashMap]

    [问题描述][简单] 在字符串 s 中找出第一个只出现一次的字符.如果没有,返回一个单空格. s 只包含小写字母.示例:s = "abaccdeff" 返回 "b&quo ...

  4. 剑指offer面试题[40]-数组中只出现一次的数字

    题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 注意原题目要求空间复杂度为0(1). 位运算的具体思路可以参看剑指offer. class So ...

  5. 【剑指offer-Java版】35第一个只出现一次的字符

    第一个只出现一次的字符: 对于给定的字符,遍历一遍,然后将其映射到一个hash表中,遍历完成之后,遍历哈希表, 遇到的第一个哈希值为1所对应的字符就是第一个只出现了一次的字符 public class ...

  6. 面试题50. 第一个只出现一次的字符

    在字符串 s 中找出第一个只出现一次的字符.如果没有,返回一个单空格. 示例: s = "abaccdeff" 返回 "b" s = ""  ...

  7. Java详解剑指offer面试题50--第一个只出现一次的字符

    Java详解剑指offer面试题50–第一个只出现一次的字符 找出字符串中找出第一个只出现一次的字符,比如输入"abacceff",则输出'b' 要想知道某个字符是不是只出现了一次 ...

  8. GitHub#algorithm#:《剑指offer》 的50道面试题

    Copyright(C) nonstriater:https://github.com/nonstriater/Learn-Algorithms <剑指offer> 这本书给出了50到面试 ...

  9. 【LeetCode】剑指 Offer 50. 第一个只出现一次的字符

    [LeetCode]剑指 Offer 50. 第一个只出现一次的字符 文章目录 [LeetCode]剑指 Offer 50. 第一个只出现一次的字符 一.哈希表 二.有序哈希表 本题考查哈希表的使用, ...

最新文章

  1. centos7镜像加速_虚拟机 Linux CentOS7 安装Docker 详解:使用 阿里云Yum源;附加云镜像加速器...
  2. 使用可信证书为windows RDP服务提供加密
  3. **Java有哪些悲观锁的实现_80% 人不知道的 Redis 分布式锁的正确实现方式(Java 版)...
  4. C#发现之旅第十四讲 基于动态编译的VB.NET脚本引擎
  5. 2.oracle分页,找到员工表中薪水大于本部门平均薪水的员工
  6. 绝对布局优势_街电福建全场景布局持续深化,构建全时续电服务强化行业领先优势...
  7. 手机App扫描多个网站显示的二维码的数据结构设计
  8. java 拷贝大文件_java高效实现大文件拷贝功能
  9. android 录像 源代码,android安卓视频录制摄像拍摄源码(测试可用)
  10. Cisdem PDF Password Remover for mac(PDF文件解密工具)
  11. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_5_文件存储的原理和记事本打开文本显示原理...
  12. latex 图片_【包学包会】【LaTeX篇】TeXLive+VsCode+TexStudio
  13. 做下一个互联网时代的“水电公司”——融云的通信云视野与蓝图
  14. ubuntu 系统 下载GCC FreeType
  15. python实现文本翻译
  16. 内网环境下element-template配置element-admin
  17. ux设计_我是一名开发人员,正在过渡到UX设计帮助
  18. python运维小工具_Python实现跨平台运维小神器
  19. Gut Microbes | 基于宏基因组发现猕猴肠道中的大量微生物新基因组
  20. Redis - 消息发布订阅机制

热门文章

  1. c语言定义一个strcmp函数,定义一个strcmp函数实现两个字符串比较,函数原型为int strcmp(char * p1,...
  2. 折线图_手把手教你用ECharts画折线图
  3. 【李宏毅2020 ML/DL】P60-61 Unsupervised Learning - Deep Generative Model
  4. C++11 static_assert
  5. 【汇编语言与计算机系统结构笔记15】子程序设计:调用与返回,保护与恢复寄存器,子程序的参数传递,堆栈平衡,结构伪操作 STRUC
  6. 心得复述知识体系:《强化学习》中的蒙特卡洛方法 Monte Carlo Methods in Reinforcement Learning
  7. java鼠标右击出现选择窗口_java菜单代码 java中鼠标右击弹出菜单怎样实现
  8. mysql----索引
  9. python画图颜色代码rgb_python – matplotlib 3D散点图,其标记颜色对应于RGB值
  10. 开始学习 PixiJS