算法题每日一练---第50天:判断字符是否唯一

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

4.png

一、问题描述


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


题目链接:判断字符是否唯一


二、题目要求


样例 1

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


样例 2

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


考察

字符串应用,位运算中等题型
建议用时15~35min


三、问题分析


本题是位运算的第5题,没了解过位运算相关知识点可以看这一篇文章,讲解比较详细:


算法题每日一练---第45天:位运算


1.字符串

一开始,我看这一题属实没想到字符如何与位运算的相关知识点结合起来。

要判断是否唯一,只要进行下述两步操作:

字符串中单个字母存入k
字符串寻找是否包含除了当前位置的k


2.位运算

1.png

就像这道题后面的题解一样,位运算对于这一题来说,显得不是很有优势。代码也显得难懂,所以位运算的代码我就不写了,躺平了。


四、编码实现


classSolution {
public:
boolisUnique(stringastr) {
stringk;//中间变量kinti,n=astr.size();//初始化定义for(i=0;i<n;i++)//for循环        {
k=astr[i];//赋值if(astr.find(k)==astr.rfind(k))//判断还有没有重复的元素            {
returnfalse;//返回 错误            }
        }
returntrue;//返回 正确    }
};


五、测试结果2.png

相关文章
|
2月前
|
算法 前端开发 数据处理
小白学python-深入解析一位字符判定算法
小白学python-深入解析一位字符判定算法
53 0
|
7月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-439 算法训练 简单字符变换
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-439 算法训练 简单字符变换
57 1
|
7月前
|
算法
LeetCode算法题---无重复字符的最长子串、寻找两个正序数组的中位数(三)
LeetCode算法题---无重复字符的最长子串、寻找两个正序数组的中位数(三)
66 0
|
4月前
|
算法
【算法】位运算算法——判断字符是否唯一
【算法】位运算算法——判断字符是否唯一
|
4月前
|
算法
【算法】滑动窗口——无重复字符的最长子串
【算法】滑动窗口——无重复字符的最长子串
|
2月前
|
算法 Java 程序员
【算法每日一练及解题思路】有n级台阶,一次只能上1级或2级,共有多少种走法?
本文深入解析了“爬楼梯问题”,探讨了递归与迭代两种解法,并提供了Java代码实现。通过分析问题本质,帮助读者理解动态规划技巧,提高解决实际编程问题的能力。关键词:Java, 算法, 动态规划, 爬楼梯问题, 递归, 迭代。
117 0
|
7月前
|
算法 测试技术 编译器
【算法 | 实验18】在字符矩阵中查找给定字符串的所有匹配项
题目描述 题目 在字符矩阵中查找给定字符串的所有匹配项 给定一个M×N字符矩阵,以及一个字符串S,找到在矩阵中所有可能的连续字符组成的S的次数。所谓的连续字符,是指一个字符可以和位于其上下左右,左上左下,右上右下8个方向的字符组成字符串。用回溯法求解。
114 1
|
7月前
|
算法 C++
【优选算法】——滑动窗口——3. 无重复字符的最长子串
【优选算法】——滑动窗口——3. 无重复字符的最长子串
|
6月前
|
算法
数据结构和算法——散列函数的构造方法(直接定址法、除留余数法、数字分析法、折叠法、平方取中法、ASCII码加和法、前三字符移位法)
数据结构和算法——散列函数的构造方法(直接定址法、除留余数法、数字分析法、折叠法、平方取中法、ASCII码加和法、前三字符移位法)
74 0
|
7月前
|
人工智能 算法 测试技术
【字符串】【C++算法】828.统计子串中的唯一字符
【字符串】【C++算法】828.统计子串中的唯一字符