算法-First Unique Character in a String-字符串中的第一个唯一字符

GEE开发之ERA5(气温、降水、压力、风速等)数据获取和分析 前言:ERA5主要提供DAILY和MONTHLY两大类别数据,其中主要包括气温、降水、压力、风速等。 阅读详情

1、题目描述

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。

示例:
s = "leetcode"
返回 0
s = "loveleetcode"
返回 2

2、题目分析

  • 与以往的题目不同,这个是找唯一的字符,那就需要遍历完成之后再二次遍历
  • 首先考虑使用HashMap,再考虑使用字典
  • 第一次遍历统计各个字符出现的次数,第二次遍历找仅出现一次的那个字符

3、代码实现

    public int firstUniqChar1(String s) {
        Map<Character,Integer> map = new HashMap<>();
        //统计出现次数
        for(int i = 0;i < s.length();i++){
            map.put(s.charAt(i),map.getOrDefault(s.charAt(i),0) + 1);
        }
        //找第一个出现的唯一元素下标
        for(int i = 0;i < s.length();i++){
            if(map.get(s.charAt(i)) == 1){
                return i;
            }
        }
        return -1;
    }
    //使用字典能降低时间和空间复杂度
	public int firstUniqChar(String s){
        int[] count = new int[26];
        for(int i = 0;i < s.length();i++){
            count[s.charAt(i) - 'a']++;
        }
        for(int i = 0;i < s.length();i++){
            if(count[s.charAt(i) - 'a'] == 1) return i;
        }
        return -1;
    }

4、复杂度分析

  • 时间复杂度:O(N) 两次遍历
  • 空间复杂度:O(∣Σ∣) 最多存储26个不重复字符
华为OD机试真题 新系统 9月16号 【园区基站节能部署规划】 华为OD机试真题 新系统【园区基站节能部署规划】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【园区基站节能部署规划】多语言题解。 阅读详情

相关推荐

LCD工程师必看:MIPI DSI的LP/HS模式切换全流程拆解(附高通平台实测)

本文为LCD工程师深度解析MIPI DSI接口中低速(LP)与高速(HS)模式切换的全流程。文章结合高通平台实测波形,从协议状态机、时序关键参数到实战调试案例,系统拆解了模式切换的本质、协同机制及常见问题排查方法,重点阐述了LP模式在低功耗控制与HS模式在高速数据传输中的核心作用与切换时序。

weixin_29240711的博客 547

387. First Unique Character in a String(字符串中的第一个唯一字符)

给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。

apprentice_eye的博客 479

Uniapp+Vue3+Monorepo:如何优化你的前端开发流程(附完整配置代码)

本文详细介绍了如何利用Uniapp+Vue3+Monorepo技术栈优化前端开发流程,提升代码可维护性和团队协作效率。通过Monorepo架构实现依赖管理智能化、代码复用最大化和构建流程统一化,结合完整配置代码和实战指南,帮助开发者快速构建高性能跨端应用。

weixin_29011993的博客 453

Leetcode 387. First Unique Character in a String 第一个唯一字符 解题报告

1 解题思想这题的意思是,给一个字符串,找出第一个只出现一次的字符的位置。这道题限定了只有小写字符,所以用一个小写字符的数组去做标志位,记录某个字符是否出现,如果出现了一次那么位置在哪里,或者出现了多次。即对于一个长度为[26]的数组,在遍历String的过程中有如下逻辑: 第i([0,25] )的位置,对应字符’a’+i 为0 代表没有出现过 大于0时,且取值为k时,证明这个对应字符在k-1的位置

MebiuW的专栏 2008

踩坑2周总结:Python+YOLO26搭建工业级多路视频分析应用,从单路卡顿到16路4K稳跑30FPS

本文分享了工业级多路视频分析系统的实战经验,针对智慧物流园区的车辆违停和人员安全监测需求,提出了一套完整的解决方案。作者通过踩坑实践,总结出多路视频分析的四大核心痛点:视频流解码瓶颈、推理调度混乱、内存占用爆炸和部署兼容性差。 文章详细介绍了技术选型方案,推荐使用FFmpeg+PyAV进行硬件加速解码、YOLO26+TensorRT INT8量化推理、单进程多线程的生产者-消费者架构,以及内存池复用等技术组合。该方案在RTX 4070 Ti上实现了16路4K视频30FPS稳定运行,GPU利用率达85%以上,

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 955

RSA算法详解:万字文章详解RSA的加密与解密

为了彻彻底底的研究明白RSA算法,真的是。。煞(lei)费(si)苦(wo)心(le),首先我希望自己前前后后、彻彻底底的琢磨明白,其次我也希望我把他分享出来以后,大家都能读得懂,这篇文章真的是我迄今为止写的又臭又长的一篇文章了,但是我能保证的是,你读完了以后,绝对不会再问RSA是啥玩意儿了。。

布啦啦 7667

387. First Unique Character in a String

一、题目 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: Y...

Mr_Curious的博客 145

大数据领域数据采集的人工智能辅助技术

在大数据时代,“数据是石油”的隐喻早已深入人心,但采集高质量数据的过程却像“在大海里捞针”——数据源分散如繁星、格式杂乱如碎片、质量参差不齐如泥沙,传统采集方法(写死的脚本、固定的ETL流程)早已力不从心。这篇文章将带你走进AI辅助数据采集的世界:我们会用“智能捕鱼船”的比喻拆解AI如何解决传统采集的痛点,深入解析“数据源自动发现”“自适应数据解析”“实时质量管控”等核心技术的原理,用代码示例还原AI采集的真实流程,最后探讨多模态采集、联邦学习等未来趋势。

小程序开发 2354

First Unique Character in a String

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 as

niekai01的博客 313

OmniDrive(3):逐行代码详解

模型效果: 端到端联合规划与推理 接下来,简单介绍下训练的配置 1.1 模型配置 模型基于sparse query based的3D Bev感知框架StreamPetr ,用query来编码动态目标(如车辆、行人)和静态地图元素(如车道线)。(1) tran、test和val数据配置 指定真值的文件路径: ann_file 指定输出处理的pipeline: 训练使用, test 和val使用 指定是否需要时序训练seq_mode (2)数据处理pipeline 自定义的Dataset 通过类实现,训

@bangbang的博客 719

辐射制冷无规散射结构非球形散射体的结构优化与设计准则

本文针对辐射制冷材料中非球形散射体的光散射特性开展研究,提出了一种基于体积散射截面和不对称因子的综合评价方法。通过建立简化模型分析球体、圆柱体、长方体等六种几何形状在太阳波段的散射性能,发现金字塔形和圆锥形具有更强的后向散射能力。研究创新性地提出"反射因子SR=S(1-g)"这一评价参数,该参数与宏观反射率高度相关,为非球形散射体的优化设计提供了定量依据。仿真结果表明,合理选择散射体形状可显著提升辐射制冷材料的太阳反射率,为实现高效被动制冷提供了新的结构设计思路。

huanghm88的专栏 78

[LeetCode]387. First Unique Character in a String

EasyGiven 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 as

InfoSecPractitioner 268

机器人中的数值优化(十三)——QP二次规划

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会穿插一些路径规划方面的应用实例

慕羽★的博客 2792

C#LeetCode刷题之#387-字符串中的第一个唯一字符(First Unique Character in a String)

问题 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 s = "leetcode",返回 0. s = "loveleetcode",返回 2. 注意事项:您可以假定该字符串只包含小写字母。 Given a string, find the first non-repeating character in it and return it's ...

比特飞 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

First Unique Character in a String(字符串中的第一个唯一字符)

Given a string, find the first non-repeating character in it and return it’s index. If it doesn’t exist, return -1.(给定一个字符串,找出第一个非重复的字符并返回下标,如果不存在则返回-1)Examples: s = “leetcode” return 0. s = “lovele

ajiangfan的博客 3041

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

first unique character in a string

题目:给定一个string,找出第一个string里的unique character,如“cisco”的话就应该是i,“cat”的话就是c。 第一种方法是用LinkedHashMap保留数据的顺序,过一遍string,对字符进行计数,然后找到第一个数量为1的字符即可。 第二种方法是用一个HashSet来存已经重复的字符,然后用个arraylist来存仅出现了一次的字符。 第三种方法是用Ha

he wolf 2021

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

LeetCode //C - 387. First Unique Character in a String

【代码】LeetCode //C - 387. First Unique Character in a String。

Made in Code 975

leetcode 387. First Unique Character in a String

目录 一、问题描述 二、代码实现 1、两遍遍历 2、一遍遍历 https://leetcode.com/problems/first-unique-character-in-a-string/ 返回给定字符串第一个只出现一次的字符的下标,不存在则返回-1 一、问题描述 测试用例: s = "leetcode" return 0. s = "loveleetcode...

小景的博客 215

【LeetCode & 剑指offer刷题】字符串题1:50 第一个只出现一次的字符(387. First Unique Character in a String)...

【LeetCode &amp; 剑指offer刷题】字符串题1:50 第一个只出现一次的字符(387. First Unique Character in a String) 【LeetCode &amp; 剑指offer 刷题笔记】目录(持续更新中...) 387. First Unique Character in a String G...

技术改变世界 1181

【LeetCode】387. First Unique Character in a String 字符串中的第一个唯一字符(Easy)(JAVA)每日一题

【LeetCode】387. First Unique Character in a String 字符串中的第一个唯一字符(Easy)(JAVA) 题目地址: https://leetcode-cn.com/problems/first-unique-character-in-a-string/ 题目描述: Given a string, find the first non-repeating character in it and return its index. If it doesn’t exi

qq_16927853的博客 220

LeetCode 387 First Unique Character in a String 字符串中的第一个唯一的字母 C语言

387. First Unique Character in a String Given a string, find the first non-repeating character in it and return it’s index. If it doesn’t exist, return -1. . 从给定的字符串中找到第一个不重复的字母,并输出其在字符串中的指针位置(第一个字母的位...

高能粒子的博客 223

leetcode 387. first-unique-character-in-a-string 字符串中的第一个唯一字符 python3

时间:2020-9-2 题目地址:https://leetcode-cn.com/problems/first-unique-character-in-a-string/ 题目难度:Easy 题目描述: 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 示例: s = "leetcode" 返回 0 s = "loveleetcode" 返回 2 思路1:用哈希,一看到次数,毫不犹豫用哈希 代码段1:通过 class Solution: d

isabloomingtree的博客 247

387.字符串中的第一个唯一字符 First Unique Character in a String

题目描述 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 示例: s = “leetcode” 返回 0 s = “loveleetcode” 返回 2 来源:力扣(LeetCode)链接 题解 我自己写的代码显示超出时间限制,不知道是什么原因,难道是因为我的时间复杂度是O(n2)O(n^2)O(n2)。 class Solution: def firstUniqChar(self, s: str) -> int: s = list(

打瞌睡_的博客 139

387. First Unique Character in a String*

387. First Unique Character in a String* https://leetcode.com/problems/first-unique-character-in-a-string/description/ 题目描述 Given a string, find the first non-repeating character in it and return it’s...

珍妮的选择的博客 263

【leetcode刷题】[简单]387. 字符串中的第一个唯一字符(first unique character in a string)-java

字符串中的第一个唯一字符 first unique character in a string题目分析解答 题目 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 案例: s = "leetcode" 返回 0. s = "loveleetcode", 返回 2. 代码模板: class Solution { public int firstUni...

mikuluna的博客 217

LeetCode 387. 字符串中的第一个唯一字符(First Unique Character in a String)

387. 字符串中的第一个唯一字符 LeetCode387. First Unique Character in a String 题目描述 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 案例: s = "leetcode" 返回 0. s = "loveleetcode", 返回 2. 注意事项:您可以假定该字符串只包含小写字母。 Java 实现 cla...

weixin_30830327的博客 263
上一篇: 操作系统-进程的调度算法-解析
下一篇: 算法-Candy-分发糖果
酱油瓶啤酒杯
博客等级 码龄8年 35粉丝 135原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值