2014-03-18 01:25
题目:给定一个字符串,判断其中是否有重复字母。
解法:对于可能有n种字符的字符集,用一个长度为n的数组统计每个字符的出现次数,大于1则表示有重复。
代码:
1 // 1.1 Implement an algorithm to determine if a string has all unique characters. What if you cannot use additional data structure? 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 6 class Solution { 7 public: 8 bool isAllUnique(const char *s) { 9 if (nullptr == s) { 10 return false; 11 } 12 int i; 13 14 int a[256]; 15 memset(a, 0, 256 * sizeof(int)); 16 for (i = 0; s[i]; ++i) { 17 if (a[s[i]]) { 18 return false; 19 } else { 20 a[s[i]] = 1; 21 } 22 } 23 24 return true; 25 }; 26 }; 27 28 int main() 29 { 30 Solution sol; 31 char s[100]; 32 33 while (scanf("%s", s) == 1) { 34 if (sol.isAllUnique(s)) { 35 printf("Unique.\n"); 36 } else { 37 printf("Not unique.\n"); 38 } 39 } 40 41 return 0; 42 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)