当前位置: 首页> 文旅> 美景 > 勾线外包网站_国外直播sdk_沈阳seo收费_seo软件定制

勾线外包网站_国外直播sdk_沈阳seo收费_seo软件定制

时间:2025/7/10 2:19:44来源:https://blog.csdn.net/yun_shui_/article/details/144133892 浏览次数:0次
勾线外包网站_国外直播sdk_沈阳seo收费_seo软件定制

问题描述

思路解析

  • 对于这种个数有限的问题,我的第一想法是使用桶排序来解决
  • 因为s中只有小写英文单词,所以我只需要一个26个单位的数组就好了
  • 通过 charAt() 来提取单个字符,然后通过 -‘a’ 来将其映射到 0~25,不然数组长度就被超过了
  • 之后再++,最后再遍历一遍,只要==1 ,则代表只出现一次
  • 需要注意的是,不能直接在 数组 char[0]~char[25]之间遍历,因为这样模糊了前后关系,就没办法知道哪个是第一个出来的了

代码

class Solution {public int firstUniqChar(String s) {/**想法是用字符串数组来存储char[s.charAt()]++ 来代表并且只有小写数组,所以可以遍历char[a]~char[z],不对,这样遍历,会找不出,第一个不重复的,打乱了顺序还是得循环字符串的来寻找*/int n=s.length();int[] arr=new int[26];for(int i=0;i<n;i++){arr[s.charAt(i)-'a']++;}for(int i=0;i<n;i++){if(arr[s.charAt(i)-'a']==1)return i;}return -1;}
}

关键字:勾线外包网站_国外直播sdk_沈阳seo收费_seo软件定制

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: