程序员面试金典 01.01. 判定字符是否唯一
实现一个算法,确定一个字符串 s 的所有字符是否全都不同。
https://leetcode.cn/problems/is-unique-lcci/
示例 1:
输入: s = "leetcode"
输出: false
示例 2:
输入: s = "abc"
输出: true
限制:
0 <= len(s) <= 100
s[i]仅包含小写字母
如果你不使用额外的数据结构,会很加分。
先把输入字符串 拆分成 字符数组
假设字符串长度为n
解法1 :
从第一个字符开始在数组中遍历查询
第一个找完了, 就从第二个开始
直到第n-2个
这个遍历过程中, 如果找到重复的字符就认为不唯一
没有找到, 就认为是唯一的
时间复杂度 : O(n^2), 空间复杂度 O(n)
解法2:
建立一个map/长度为26的数组
把输入字符映射到上述数据结构中
如果同一个key/数组index下, 数据的统计数大于1, 则认为不唯一
否则就是唯一的
class Solution { public boolean isUnique(String astr) { if(astr==null||astr.length()==0){ return true; } char[] chars = astr.toCharArray(); int[] position = new int[26]; for(char a : chars){ int index = (int)(a-'a'); if(position[index]==0){ position[index] = 1; }else{ return false; } } return true; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗