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

news2024/10/7 6:38:53

题目描述

面试题 01.01. 判定字符是否唯一icon-default.png?t=N6B9https://leetcode.cn/problems/is-unique-lcci/

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

示例 1:

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


示例 2:

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


限制:

0 <= len(s) <= 100
s[i]仅包含小写字母
如果你不使用额外的数据结构,会很加分。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/is-unique-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题目分析

这题其实不难,很容易想到用哈希表来做。但题目说不用额外的数据结构(其实就是在暗示不用哈希表)的情况会很加分。所以这里是想介绍一下用位运算的形式来模拟,即相当于将原来26大小的哈希数组压缩到二进制位上操作。因为题目说明只有小写字母,所以完全可以这样做。

这里想介绍的思路就是,当我们需要存储的信息只是单一的true/false的时候,如果数据量不是很大,我们大可以用位运算的方式将原来很大的一个数据结构进行压缩。这是一个很巧妙的思路。

我的题解

bool isUnique(char* astr)
{
    //位运算来解,相当于将原来26大小的哈希数组压缩到二进制位上操作。
    int jud = 0;
    int len = strlen(astr);
    for(int i = 0; i < len; i++)
    {
        int posi = astr[i] - 'a';
        if((jud & 1 << posi) != 0)
            return false; 
        jud |= 1 << posi;
    }
    return true;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/751058.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

中国黄金品牌怎么代理

想选择一个项目创业其实不难&#xff0c;中国黄金这个品牌相信大家都已经相当的熟悉&#xff0c;它成立于1979年&#xff0c;是业界中的佼佼者&#xff0c;一直致力于为消费者提供黄金、白银、珠宝等的产品&#xff0c;无论是产品质量还是服务&#xff0c;都在行业中处于领先地…

数据备份、还原、视图、索引 操作练习

目录 备份与还原&#xff1a; 题目要求&#xff1a; 索引和视图 题目要求&#xff1a; 备份与还原&#xff1a; 在数据库booksDB中创建表books、authorbook、authorbook&#xff1a; 题目要求&#xff1a; 1、mysqldump -uroot -pRyh201314% booksDB > /backup/db/boo…

jsonschema networknt json-schema-validator 高级能力json 数字很大时, 变成什么类型

入参校验产品化 schema_个人渣记录仅为自己搜索用的博客-CSDN博客 自动变成了bigInteger类型. 哪怕你的jsonSchema 配置的是integer , 不冲突.

Redis深入——管道、发布订阅、主从复制、哨兵监控和集群

前言 在前面的学习中&#xff0c;我们已经了解了Redis的基本语法以及Redis持久化和事务的概念。而在这篇文章中我们继续来梳理管道、发布订阅、主从复制、哨兵监控和集群的知识&#xff0c;理解Redis主从复制到集群分片的演进过程&#xff0c;希望对正在学习的小伙伴有一定的帮…

1039家校通SQL注入获取管理员权限

我们承认伟人在历史过程中的贡献。可人类生活的大厦从本质上说&#xff0c;是由无数普通人的血汗乃至生命所建造的。伟人们常常企图用纪念碑或纪念堂来使自己永世流芳。真正万古长青的却是普通人的无人纪念碑——生生不息的人类生活自身。是的&#xff0c;生活之树常青。 漏洞…

Signal-iOS 5.9.0编译问题

1.当我们使用pod管理 pod SDWebImage/WebP , 执行 pod install 时,发生报错.先看具体报错 : 截屏2020-07-06 上午11.12.15.png 2.报错产生原因是由于git clone 的地址是 https://chromium.googlesource.com/webm/libwebp,需要FQ 3.不想FQ,可以使用github上的地址https://githu…

Python实现word简历中图片模糊

Python实现word简历中照片模糊——保护个人隐私的有效方法 一、引言背景 在现代招聘流程中&#xff0c;电子简历成为了主要的招聘方式之一。然而&#xff0c;简历中包含的个人信息往往涉及隐私问题&#xff0c;特别是照片。为了保护求职者的个人隐私和数据安全&#xff0c;许多…

MySQL数据备份与恢复,索引,视图的简单练习

目录 一. 数据备份与恢复 &#xff08;1&#xff09;素材如下&#xff1a; 创建表格如下&#xff1a; &#xff08;2&#xff09; 1、使用mysqldump命令备份数据库中的所有表 2、备份booksDB数据库中的books表 3、使用mysqldump备份booksDB和test数据库&#xff08;test数…

2023最新版本Activiti7系列-身份服务

身份服务 在流程定义中在任务结点的 assignee 固定设置任务负责人&#xff0c;在流程定义时将参与者固定设置在.bpmn 文件中&#xff0c;如果临时任务负责人变更则需要修改流程定义&#xff0c;系统可扩展性差。针对这种情况可以给任务设置多个候选人或者候选人组&#xff0c;可…

面试题更新之-HTML5的新特性

文章目录 导文新特性有哪些&#xff1f;HTML5的新特性带来了许多好处 导文 面试题更新之-HTML5的新特性 新特性有哪些&#xff1f; HTML5引入了许多新特性和改进&#xff0c;以下是一些HTML5的新特性&#xff1a; 语义化标签&#xff1a;HTML5引入了一系列的语义化标签&#…

layui实现动态添加选项卡

前言 上一篇博客介绍了树形菜单的实现&#xff0c;这一篇将继续完善通过点击左侧树形菜单实现动态打开选项卡Tab 一. 什么是Tab选项卡 Tab广泛应用于Web页面&#xff0c;因此我们也对其进行了良好的支持&#xff08;简约风格、卡片风格、响应式Tab以及带删除的Tab等等&#…

机器视觉初步13:3D相机介绍

文章目录 1. 结构光&#xff08;Structured Light&#xff09;2. 飞行时间&#xff08;Time of Flight&#xff0c;ToF&#xff09;3. 双目视觉&#xff08;Stereo Vision&#xff09;4. 线扫描&#xff08;Line Scan&#xff09;5. 散斑&#xff08;Speckle&#xff09; 在工业…

算法训练营第三十七天||● 738.单调递增的数字 ● 968.监控二叉树 ● 总结

● 738.单调递增的数字 为了方便遍历&#xff0c;先将int型转换为string类型&#xff0c;从后往前遍历&#xff0c;记住要设定一个flag标志 例如&#xff1a;98&#xff0c;一旦出现strNum[i - 1] > strNum[i]的情况&#xff08;非单调递增&#xff09;&#xff0c;首先想…

(数据结构)(C++)数组——约瑟夫环求解

#define _CRT_SECURE_NO_WARNINGS 1 #include <iostream>#define MaxSize 10using namespace std;void josephus(int n,int m)//一共n个人数到m的出列 {int p[MaxSize];int i,j,t;for(i0;i<n;i){p[i]i1;//构建初始序列&#xff08;1,2,3,4.....) } t0;//首次报数起始位…

【剑指offer】17. 正则表达式匹配(java)

文章目录 正则表达式匹配描述示例1示例2示例3示例4思路完整代码 正则表达式匹配 描述 请实现一个函数用来匹配包括’.‘和’*的正则表达式。 1.模式中的字符’.表示任意一个字符 2.模式中的字符’*表示它前面的字符可以出现任意次&#xff08;包含0次&#xff09;。 在本题…

scrapy---爬虫界的django

1介绍 scrapy架构 引擎(EGINE)&#xff1a;引擎负责控制系统所有组件之间的数据流&#xff0c;并在某些动作发生时触发事件。大总管&#xff0c;负责整个爬虫数据的流动 调度器(SCHEDULER)用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. 可以想像成一个U…

[QT编程系列-8]:C++图形用户界面编程,QT框架快速入门培训 - 3- QT窗体设计 - 自定义对话框

目录 3. QT窗体设计 3.6 自定义对话框 3.6.1 种类 3.6.2 输入对话框​编辑 3.6.3 字体对话框 3.6.4 文件对话框​编辑 3.6.5 颜色对话框 3.6.6 输出对话框​编辑 3.6.7 进度条对话框​编辑 3.6.8 自定义对话框​编辑 3. QT窗体设计 3.6 自定义对话框 在QT中&#xff…

软考A计划-系统集成项目管理工程师-项目人力资源管理-下

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

Pytorch学习笔记 | 深度学习框架简介 | 环境安装

文章目录 知名深度学习框架的开发公司,以及框架的演变过程最流行的两个框架:pytorch和tensorflow两个框架最核心的区别是什么?什么是动态图和静态图环境安装CUDA是什么如何查看自己电脑的显卡类型如何安装cuda如何确认安装好了呢?如何测试安装pytorch知名深度学习框架的开发…

左神算法之中级提升(5) 背包问题

目录 【案例1】 【题目描述】 【思路解析】 【代码实现】 【案例2】 【 2019 网易面试题】 【题目描述】 【思路解析】 【代码实现】 【案例3】 【题目描述】 【思路分析】 【代码实现】 【案例1】 【题目描述】 【思路解析】 背包问题&#xff1a; 【代码实现】 /**…