算法
文章平均质量分 51
孤言
认认真真敲代码
展开
-
验证回文串
验证回文串题目来源给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: “A man, a plan, a canal: Panama”输出: true示例 2:输入: “race a car”输出: false题目解析回文串就是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。本题就是给一个字符串,里面除了字母数字外还有其他字符,但是不需要管他们,只需要考虑字原创 2021-03-24 16:52:12 · 375 阅读 · 0 评论 -
字符串中的第一个唯一字符
字符串中的第一个唯一字符题目来源给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。示例:s = “leetcode”返回 0s = “loveleetcode”返回 2提示:你可以假定该字符串只包含小写字母。解题思路方法一:HashMap第一遍先统计每个字符出现的次数,第二遍再次从前往后遍历字符串s中的每个字符,如果某个字符出现一次直接返回。这里使用的是HashMap实现。利用其getOrDefault() 方法,来统计字符出现的次数。getOrD原创 2021-03-22 23:04:47 · 824 阅读 · 0 评论 -
移动零
移动零题目来源给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。解题思路理解题目意思今天做的题比较基础,一看我就知道怎么解题了。题目意思就是把零全部移动到后面去,其他元素按原来的排序往前移。分析通过分析题目,我们可以这样思考,设计两个变量,一个用来遍历数组,一个用来统计非零元素,只要遇见不为零的值,就将遍历原创 2021-03-18 23:27:12 · 125 阅读 · 0 评论 -
数组加一
数组加一问题问题来源给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,9]输出:[4,3,3,0]解释:输入数组表示数字 4329。示例 3:输入:digits = [0]输出:[1]解题思路题原创 2021-03-17 23:33:09 · 3894 阅读 · 0 评论 -
只出现一次的数字+java
只出现一次的数字题目来源给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4这次的算法是利用位运算中异或运算的来实现的,一开始我也就只能想出暴力遍历法,因为第一次接触位运算,在看了题解后,才发现位运算的妙用。这或许就是算法的魅力吧。利用位运算中异或运算的特点使用异或运原创 2021-03-15 23:21:26 · 117 阅读 · 0 评论 -
存在重复元素+java
存在重复元素题目来源给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true我一看到题目就有两种解题的思路,一个是暴力遍历方法,一个是使用哈希表。暴力遍历法无非就是两个循环,一一比较暴力遍历法:原创 2021-03-15 20:53:06 · 421 阅读 · 0 评论 -
从排序数组中删除重复项+java
从排序数组中删除重复项+java题目来源给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该原创 2021-03-14 15:17:01 · 179 阅读 · 0 评论