请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。
给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。保证字符串中的字符为ASCII字符。字符串的长度小于等于3000。
测试样例:
“aeiou”
返回:True
“BarackObama”
返回:False

#include<iostream>
using namespace std;
#include<string>
#include<algorithm>
//方式一  bool CheckDifferent(string iniString)
{ unsigned char str[256] = { 0 }; for (int i = 0; i < iniString.length(); ++i) { str[iniString[i]]++; } for (int i = 0; i < iniString.length(); ++i) { if (str[ iniString[i] ] > 1) return false; } return true;
}
//方式二
/*bool CheckDifferent(string iniString)
{ sort(iniString.begin(),iniString.end()); if (unique(iniString.begin(),iniString.end()) == iniString.end() ) //去掉重复的元素,这里的去掉是将重复元素放在容器的末尾,伪去除,返回第一个重复的元素的迭代器,没有重复的元素返回end位置。 return true; return false; } 
//方式三  bool Qsort(string str,int low,int high)
{  if (low >= high)  return true;  int second = high;  int first = low;  int key = str[high];  while (low < high)  {  while (low < high && str[low] <= key)  {  low++;  }  swap(str[low],str[high]);  while (low < high && str[high] >= key)  {  high--;  }  swap(str[low],str[high]);  }  if (low != first && str[low] == str[low-1])  return false;  if(low != high && str[low == str[low+1]])  return false;  return Qsort(str,first,low-1) && Qsort(str,low+1,second);
}  bool CheckDifferent(string iniString)
{  return Qsort(iniString,0,iniString.length()-1);
}  int main()
{  cout << CheckDifferent("aeiou") <<endl;  cout << CheckDifferent("BarackObama") <<endl;  cout << "hello..."<<endl;  return 0;
}  

确定一个字符串的所有字符是否全都不同相关推荐

  1. 请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。

    请实现一个算法,确定一个字符串的所有字符是否全都不同.这里我们要求不允许使用额外的存储结构. 给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代 ...

  2. 请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。 给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代

    请实现一个算法,确定一个字符串的所有字符是否全都不同.这里我们要求不允许使用额外的存储结构. 给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代 ...

  3. 请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构

    **请实现一个算法,确定一个字符串的所有字符是否全都不同.这里我们要求不允许使用额外的存储结构. 给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,Fals ...

  4. 【面试经典题之字符串】实现一个算法,确定一个字符串的所有字符是否全都不同。假设不允许使用额外的数据结构

    实现一个算法,确定一个字符串的所有字符是否全都不同.假设不允许使用额外的数据结构. 解题: 首先我们假设这个字符串中全都是ASCII字符(如果不是需要另外讨论了).因为ASCII字符集中总共有256个 ...

  5. 实现一个算法,确定一个字符串的所有字符是否全都不同?

    实现一个算法,确定一个字符串的所有字符是否全都不同? 解法 Python算法实现 代码测试 解法 构建一个布尔值的数组,索引值i对应的标记指示该字符串是否含有字母表第i个字符.若这个字符第二次出险,则 ...

  6. 【编程练习题】实现一个算法,确定一个字符串的所有字符是否全都不同。假使不允许使用额外的数据结构,又该如何处理。

    在编写算法之前,要先确认是ascii字符串还是unicode字符串 Ascii码表最多就256个字符:以一个字节来存放一个 ASCII 字符 1byte = 8bit ,故最多能存放2^8 = 256 ...

  7. 1.1实现一个算法,确定一个字符串的所有字符是否全都不同。假使不允许使用额外的数据结构,又该如何处理。...

    首先,得先问是ascii字符串还是unicode字符串.(问:这两者有何区别呢) 方法1: public boolean isUniqueChars2(String str) {//ascii码表总共 ...

  8. java练习: 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:

    import java.util.ArrayList; import java.util.Scanner;/*** 7. 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:* 原始字 ...

  9. 判断一个字符串中的字符是否唯一

    http://www.cricode.com/254.html 实现一个算法来判断一个字符串中的字符是否唯一(即没有重复).不能使用额外的数据结构. (即只使用基本的数据结构) 首先,你可以问面试官, ...

最新文章

  1. C# Socket编程(5)使用TCP Socket
  2. java.io.IOException: Stream closed
  3. 脱壳实践之手动构造输入表
  4. hls之m3u8、ts流格式详解
  5. 【POJ - 1486】Sorting Slides(思维建图,二分图求必须边,关建边,图论)
  6. assembly 输出ab中所有数_.NET Core中批量注入Grpc服务
  7. FastCGI - Writing Hello World in FCGI with C++
  8. 设计模式的C语言应用-观察者模式-第四章
  9. 计算机导航医学应用,【2016年】计算机导航在全膝关节置换中的应用技术及进展【临床医学论文】.doc...
  10. [转载]Informix平安特征庇护数据的详细方法
  11. mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
  12. 在GRIDVIEW中合并单元格
  13. 微信中文件为什么不能另存?
  14. 计算机操作系统,组成原理等基础课联系与区别
  15. android 数字 余额宝,仿余额宝数字滚动增长的效果实现
  16. C++类内初始值的初始化形式
  17. Weiss Ratings公布加密货币评级结果
  18. 安全左中右·2022 XDR 网络安全运营新理念峰会圆满落幕
  19. 上传遥感图像在地图上自动加载到地图上
  20. 程序员双节假期如何小赚一笔?

热门文章

  1. html选项卡原理,实用!纯CSS3实现的内容选项卡(Content Tabs)4个实例
  2. app timeline server
  3. html css加载不了_前端面试准备笔记之html和css(03)
  4. 国际服服务器怎么换账号吗,游戏王决斗链接
  5. net项目对接java平台_用Java解决项目对接短信验证码难问题:OkHttp和Unirest介绍
  6. Sourceinsight超好看护眼的配色方案!!!每一步都有步骤
  7. 树莓派 GPIO高低电平输入
  8. 嵌入式或者驱动底层开发为何不如java等上层开发工资高?
  9. Python元组的操作小技巧——计算和查询位置
  10. 关联矩阵与邻接矩阵的转换及Matlab实现