leetcode之字符串
explore翔
安徽某985小硕,记录日常学习生活,欢迎大家交流指教。
展开
-
判断字符串所有字符是否全部相同的几种方法
最不容易想到的就是位运算了,设置一个int 0为标准元素。每次让一个字符和a的差值和0按位或,这时一个位如果是1就是这个字母存在,再进行一个按位与操作,如果出现两次,按位与的结果肯定是1,就可以返回false了。一个小点,键值对的值如果是int,初始化默认为0,不用赋值了;这个题目最容易想到的就是先排序,再利用一次循环判断前后元素是否相等就能实现。时间复杂度最少是o(nlogn);实现一个算法,确定一个字符串 s 的所有字符是否全都不同。输入: s = “leetcode”输入: s = “abc”原创 2022-08-22 20:37:35 · 2141 阅读 · 1 评论 -
1370上升下降字符串
给你一个字符串 s ,请你根据下面的算法重新构造字符串:从 s 中选出 最小 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在 结果字符串后面。重复步骤 2 ,直到你没法从 s 中选择字符。从 s 中选出 最大 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最大 的字符,且该字符比上一个添加的字符小,将它 接在 结果字符串后面。重复步骤 5 ,直到你没法从 s 中选择字符。重复步骤 1 到 6 ,直到 s 中所原创 2021-04-04 18:52:22 · 70 阅读 · 0 评论 -
459.重复的子字符串
给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: “abab”输出: True解释: 可由子字符串 “ab” 重复两次构成。这题看起来简单,其实很难。1.暴力法,我们遍历长度为n的子字符串,从1到n/2,然后周期性判断。class Solution {public: bool repeatedSubstringPattern(string s) { int n = s.size(原创 2021-04-04 10:36:33 · 70 阅读 · 0 评论