当前位置:   article > 正文

每日OJ题_位运算③_力扣面试题 01.01. 判定字符是否唯一

每日OJ题_位运算③_力扣面试题 01.01. 判定字符是否唯一

目录

力扣面试题 01.01. 判定字符是否唯一 

解析代码


力扣面试题 01.01. 判定字符是否唯一 

面试题 01.01. 判定字符是否唯一

难度 简单

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

示例 1:

输入: s = "leetcode"
输出: false 

示例 2:

输入: s = "abc"
输出: true

限制:

  • 0 <= len(s) <= 100
  • s[i]仅包含小写字母
  • 如果你不使用额外的数据结构,会很加分。
  1. class Solution {
  2. public:
  3. bool isUnique(string astr) {
  4. }
  5. };

解析代码

        位图的思想,一个int1到26比特位的0/1表示不存在/存在,先判断每一个字符,如果对应的比特位置为1了就返回false,否则把其对应的比特位置1,遍历结束返回true。

  1. class Solution {
  2. public:
  3. bool isUnique(string astr) {
  4. if(astr.size() > 26) // 鸽巢原理优化
  5. return false;
  6. int bits = 0;
  7. for(auto& e : astr)
  8. {
  9. int i = e - 'a';
  10. if((bits >> i) & 1)
  11. {
  12. return false;
  13. }
  14. bits |= (1 << i);
  15. }
  16. return true;
  17. }
  18. };

大年初一,贴个其他帅哥美女程序员的祝福给各位帅哥美女:

  • 冒泡排序,选择排序,插入排序,快速排序,堆排序,归并排序,希尔排序,桶排序,基数排序新年为您排忧解难。
  • 有向图,无向图,有环图,无环图,稠密图,稀疏图,拓扑图祝您新年大展宏图。
  • 最长路,最短路,单源路径,所有节点对路径祝您新年路路通畅。
  • 平衡二叉树,AVL树,红黑树,B+树,最小生成树祝您新年好运枝繁叶茂。
  • 最大流,网络流,标准输入输出流,文件输入输出流祝您新年顺顺流流。
  • 线性动规,区间动规,坐标动规,背包动规,树型动规为您的新年规划精彩。
  • 散列表,哈希表,邻接表,双向链表,循环链表帮您在新年表达喜悦。
  • O(n!),O(2^n),O(n^3),O(n^2),O(nlog n),O(n),O(log n),O(1)祝您新年渐进步步高。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/84952
推荐阅读
相关标签
  

闽ICP备14008679号