首页 > 代码库 > 1.1
1.1
1.1 Implement an algorithm to determine if a string has all unique characters. Whatif you cannot use additional data structures?
1 #include <iostream> 2 #include <queue> 3 #include <climits> 4 #include <algorithm> 5 #include <memory.h> 6 #include <stdio.h> 7 #include <map> 8 #include <vector> 9 #include <list>10 #include <stack>11 using namespace std;12 13 ///判断一个字符串是否有重复字符出现14 ///corner case:字符串为null15 //思路1:如果字符串采用的是ascii编码的话,建立一个256大小的bool数组16 //初始设置为true,出现一次相应位置设置为false,如果碰到已经是false的了17 //就返回false;否则返回true18 //空间复杂度:O(1),时间复杂度:O(n)19 bool fun_1(string s)20 {21 bool isExisist[256];22 memset(isExisist,true,sizeof(isExisist));23 if(s.length() == 0)24 return false;25 int i;26 for(i = 0 ; i < s.length() ; ++i)27 {28 //cout<<(int)s[i]<<endl;29 if(isExisist[s[i]] == false)30 return false;31 isExisist[s[i]] = false;32 }33 return true;34 }35 //思路2:如果不能使用额外数据结构,那么可以直接暴力求解36 //或者如果可以打乱原始字符串顺序的话,可以先排序后遍历37 //实现:无38 39 int main(int argc, char *argv[])40 {41 string s = "aaa";42 cout<<fun_1(s)<<endl;43 return 0;44 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。