当前位置: 首页 > news >正文

位运算-面试题01.01.判定字符是否唯一-力扣(LeetCode)

一、题目解析

1、s[i]仅包含小写字母

2、字符串的长度为[0,100]

二、算法原理

解法1:哈希表

用哈希表记录s[i]的字符,如果有重复的,则返回false

优化1:由于s[i]中只有小写字母,所以可以创建一个int hash[26]的数组,0代表字符a

解法2/优化2:位图

一个int有32个比特位,我们可以用一个比特位代表一个小写字母,‘a’用0位比特位表示,0表示字符未存在,1表示字符存在

位运算公式:

 

三、代码示例

class Solution {
public:bool isUnique(string astr){if(astr.size() > 26) return false;int n = 0;for(auto& e : astr){if(((n>>(e-'a')) & 1) == 1)return false;if(((n>>(e-'a')) & 1) == 0)n |= (1<<(e-'a'));}return true;}
};

 

 

看到最后,如果对您有所帮助,还请点赞、收藏和关注,我们下期再见! 

http://www.dtcms.com/a/309174.html

相关文章:

  • 【unity小技巧】封装unity适合2D3D进行鼠标射线检测,获取鼠标位置信息检测工具类
  • 8.1每日一题
  • (线段树)SP2916 GSS5 / nfls #2899 查询最大子段和 题解
  • STL进阶典题整理 2025.7.30-2025.8.1
  • 关于继承的一些知识(C++)
  • react-native在mac的m2芯片下,pod install安装glog的时候报错
  • bmcweb工作流程
  • 【科研绘图系列】R语言绘制环状分组显著性柱状堆积图
  • Spring AI 系列之三十 - Spring AI Alibaba-其它模型
  • CSS font-weight:500不生效
  • Git 命令使用指南:从入门到进阶
  • 动态规划(数位统计dp 状态压缩dp 树形dp 记忆化搜索) from y总
  • 【C语言】字符函数与字符串函数详解
  • http请求访问响应慢问题解决的基本思路
  • 基于python大数据的招聘数据可视化及推荐系统
  • natapp的报错Tunnel StatusReconnecting...
  • STM32芯片简述
  • 使用GPU和NPU视频生成的优劣对比
  • 人工智能与金融:金融服务的重塑
  • Linux9 root密码修改
  • armbian 启用nginx并设置访问密码
  • CTF实战:用Sqlmap破解表单输入型SQL注入题(输入账号密码/usernamepassword)
  • SpringBoot AI应用实战:从图像识别到预测分析
  • 【通用视觉框架】基于OpenCvSharp+WPF+YOLO开发的仿VisionMaster的通用视觉框架软件,全套源码,开箱即用
  • 机器人芯片:智能机器的“大脑”与未来趋势
  • Nature Machine Intelligence 面向机器人操作有效滑移控制的仿生轨迹模块
  • alaxea机器人由星海图人工智能科技有限公司研发的高性能仿人形机器人
  • 【LeetCode 热题 100】155. 最小栈
  • PL-0功能拓展及基于VSCode的IDE配置
  • kotlin语法和特性分析