随笔分类 - leetcode
摘要:删除有序数组的重复项 1,题目 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 2,思路 使用双指针的思想进行解答,快指针
阅读全文
摘要:八大基础排序 1. 冒泡排序(Bubble Sort) 基本思想:依次比较相邻的两个元素,若它们的顺序错误则进行交换。 特点:稳定排序,但效率较低,时间复杂度为O(n^2),空间复杂度为O(1)。 代码实例 public class BubbleSortExample { public static
阅读全文
摘要:斐波那契数 一、题目描述 斐波那契数(通常用 F(n) 表示)所以形成的数列称为斐波那契数列。该数列由0和1开始,后面每一项数字都是前两项数字的和。也就是: F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2),其中 n > 1 示例1: 输入:n = 2 输出:
阅读全文
摘要:数字的补数 一、题目描述 对于一个整数的二进制取反,再转换为十进制数,得到的这个数就是这个整数的补数。 示例1 输入:num = 5 输出:2 解释:5 的二进制表示为 101(没有前导零位),其补数为 010。所以你需要输出 2 。 示例2 输入:num = 1 输出:0 解释:1 的二进制表示为
阅读全文
摘要:岛屿的周长 一、题目描述 给定一个row * col 的二维网格grid,其中:grid[i][j]=1 时不表示陆地,grid[i][j]=0表示水域。 网格中的格子水平方向相连,整个网格被水完全包围,但其中卡高有一个岛屿。岛屿中是没有湖的存在。计算出这个岛屿的周长。 示例1 输入:grid =
阅读全文
摘要:汉明距离 一、题目描述 汉明距离就是两个整数之间对应二进制位不同的位置数目。给定一个两个整数x和y,计算并返回它们之间的汉明距离。 示例1: 输入:x = 1, y = 4 输出:2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 示例2 输入:x = 3, y = 1 输出:1 二
阅读全文
摘要:找到所有数组中消失的数字 一、题目描述 给你一个含n个整数的数组nums,其中nums[i]在区间[1,n]内。请你找出所有在[1,n]范围内没有出现在nums中的数字,并以数组形式返回。 示例1 输入:nums = [4,3,2,7,8,2,3,1] 输出:[5,6] 示例2 输入:nums =
阅读全文
摘要:排列硬币 一、题目描述 总共有n和硬币,并计划将它们按阶梯状排列。对于一个有k行组成的阶梯,其第i行必须正好有i枚硬币。阶梯的最后一行可能是不完整的。 给定一个数组n,计算并返回可形成完整阶梯行的总行数。 示例1 输入:n = 5 输出:22 输入:n = 8 输出:3 二、解题思路 类似于如下形式
阅读全文
摘要:字符串中的单词数 一、题目描述 统计字符串s中的单词个数,单词值得是连续的不是空格的字符。字符串中不包含任何不可打印的字符。 二、解题思路 需要找到单词的数量。单词的特点就是单词的第一个字符前为空格,除了第一个字符。 三、解题方法 方法1 一次遍历记录单词的个数即可。判断条件就是第一个字符不等于0时
阅读全文
摘要:字符串相加 一、题目描述 给定两个字符串形式的非负数num1he num2,计算它们的和并以字符串的形式返回。不能使用任何的内建函数。 示例1: 输入:num1 = "11", num2 = "123" 输出:"134" 示例2: 输入:num1 = "456", num2 = "77" 输出:"5
阅读全文
摘要:Fizz Buzz 一、题目描述 给定一个整数你,找到从1到n各个整数的FizzBizz表示,并用字符串数组answe(下表1开始)返回结果,其中: answer[i] == "FizzBuzz" 同时是3和5的倍数 answer[i] == "Fizz" 如果i是3的倍数 answer[i] ==
阅读全文
摘要:最长回文串 一、题目描述 给定一个包含大写字母和小写的字符串s,返回通过这些字母构成的最长的回文串。在构造过程中,请注意区分大小写。 示例1 输入:s = "abccccdd" 输出:7 示例2 输入:s = "a" 输入:1 示例3 输入:s = "aaaaaccc" 输入:7 二、解题思路 最长
阅读全文
摘要:左叶子之和 一、题目描述 给定一个二叉树根节点,返回所有左叶子之和。 示例1 输入: root = [3,9,20,null,null,15,7] 输出: 24 示例2 输入: root = [1] 输出: 0 二、解题思路 采用递归遍历每一个叶子节点,并相加左叶子节点即可。 三、解题方法 方法1(
阅读全文
摘要:判断子序列 一、题目描述 给定一个字符串s和t,判断是否为t的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变字符相对位置形成新的字符串。 示例1 输入:s = "abc", t = "ahbgdc" 输出:true 示例2 输入:s = "axc", t = "ahbgd
阅读全文
摘要:找不同 一、题目描述 给定两个字符串s和t,它们只包含小写字母。字符串t和s随机重排,然后再随机添加一个字母。找出t中被添加的字母。 示例1 输入:s = "abcd", t = "abcde" 输出:"e" 解释:'e' 是那个被添加的字母。 示例2 输入:s = "", t = "y" 输出:"
阅读全文
摘要:字符串中的第一个唯一字符 一、题目描述 给定一个字符串s,找到它的第一个不重复的字符,并返回的所有。如果不存在,则返回-1。 示例1 输入: s = "leetcode" 输出: 0 示例2 输入: s = "loveleetcode" 输出: 2 示例3 输入: s = "aabb" 输出: -1
阅读全文
摘要:有效的完全平方数 一、题目描述 给定一个正整数num,编写一个函数,如果num是一个完全平方数,则返回一个true,否则则返回false。 示例1 输入:num = 16 输出:true 示例2 输入:num = 14 输出:false 二、解题思路 将1到num的所有数,全部平方在和num相比较,
阅读全文
摘要:反转字符串中的元音字母 一、题目描述 反转字符串中的元音字符,元音字母包含"a,e,i,o,u",其中也包含大写。 示例1 输入:s = "hello" 输出:"holle" 示例2 输入:s = "yellow" 输出:"yollew" 二、解题思路 反转元音字母,就是出现的第一个元音字母和最后一
阅读全文
摘要:3的幂 一、题目描述 给定一个整数,写一个函数判断它是否时3的幂次方。如果是则返回true,不是则返回false; 实例1 输入:n = 27 输出:true 实例2 输入:n = 0 输出:false 二、解题思路 是否是3的幂,判断n是不是3的n次方。n能不能被3一直整除结果为1。 三、解题方法
阅读全文
摘要:两个数组的交集 一、题目描述 给定两个数组nums1和nums2,求出给相交的元素的即可。返回的结果元素,应与两个数组中元素出现的次数相同,如果不相同,则返回较小的次数。 实例1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2,2] 实例2 输入:nums1 =
阅读全文