请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。
给定一个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. 爬虫学习 pyspider和scrapy小结 / 与其他工具对比
  2. win10 远程登录 无密码用户
  3. Ansible批量在远程主机执行命令
  4. C++primer第九章 顺序容器 9.3 顺序容器操作
  5. IIS Log的位置
  6. 十一假期国人消费力爆棚,国内旅游收入超6497亿,你花了多少?
  7. UVA10817--状态压缩DP
  8. YUV420查表法高效、无失真的转换为RGB32格式
  9. 架构之美第四章-架构与美
  10. 思科 Packet Tracer 实验七 DHCP基本配置
  11. WindowsServer2003 2008R2架设ASP网站实战
  12. Java连rabbitMQ 报错 An unexpected connection driver error occured
  13. 光伏发电到底能带我们走多远?
  14. 浅谈自适应滤波器---(快速RLS算法)
  15. Python错误日志
  16. if中return语句作用/条件判断中如何退出函数
  17. css html 实现刻度,用CSS划一把刻度尺
  18. Other | PPTV电视安装第三方应用教程
  19. 视觉错觉模型_【案例 Blah】 剪影视错觉装置建模
  20. 浏览器被劫持了 hao123

热门文章

  1. 网和aoe网的区别_阳泉锌铝石笼网信赖推荐
  2. 《Applied Thermal Engineering》期刊介绍(SCI 2区)
  3. Opencv学习笔记 图像拼接一全景拼接
  4. CentOS8使用gmssl搭建demoCA及配置OCSP服务
  5. python ifelse语句的用法_Python - if-else 的多种简洁写法
  6. mysql id自动递增两个_MySQL双主一致性架构优化
  7. Open3D 纹理贴图
  8. 【职场进阶】工作经验到底是什么?
  9. 信息系统集成及服务管理(ITSS)和审计要点
  10. Oracle 多表联合查询优化