- 博客(187)
- 资源 (5)
- 收藏
- 关注
原创 268、卡牌分组
给定一副牌,每张牌上都写着一个整数。 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成1组或更多组: 每组都有 X 张牌。 组内所有的牌上都写着相同的整数。 仅当你可选的 X >=2时返回true。 示例1: 输入:deck = [1,2,3,4,4,3,2,1] 输出:true 解释:可行的分组是 [1,1],[2,2],[3,3],[4,...
2022-03-26 09:49:42
242
原创 269、无重复字符的最长子串
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例1: 输入: s ="abcabcbb" 输出:3 解释: 因为无重复字符的最长子串是"abc",所以其长度为3。 示例2: 输入: s ="bbbbb" 输出:1 解释: 因为无重复字符的最长子串是"b",所以其长度为1。 示例3: 输入: s ="pwwk...
2022-03-25 19:44:38
205
原创 270、6 和 9 组成的最大数字
给你一个仅由数字6和9组成的正整数 num。 你最多只能翻转一位数字,将6变成9,或者把9变成6。 请返回你可以得到的最大数字。 示例1: 输入:num =9669 输出:9969 解释: 改变第一位数字可以得到6669。 改变第二位数字可以得到9969。 改变第三位数字可以得到9699。 改变第四位数字可以得到966...
2022-03-23 09:58:36
302
原创 271、最长连续递增序列
给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i +1] ,那么子序列 [nums[l], nums[l +1], ..., nums[r -1], nums[r]] 就是连续递增子序列。 示例1: 输入:nums = [1...
2022-03-22 09:59:32
144
原创 272、单调数列
如果数组是单调递增或单调递减的,那么它是 单调 的。 如果对于所有 i <= j,nums[i] <= nums[j],那么数组 nums 是单调递增的。 如果对于所有 i <= j,nums[i]> = nums[j],那么数组 nums 是单调递减的。 当给定的数组 nums 是单调数组时返回true,否则返回false。 示例1: 输入:nums = [1,2,2,3]...
2022-03-22 09:53:43
244
原创 273、汉明距离
两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数 x 和 y,计算并返回它们之间的汉明距离。 示例1: 输入:x =1, y =4 输出:2 解释: 1(0001) 4(0100) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。 示例2: 输入:x =3, y...
2022-03-21 13:44:38
163
原创 274、找到小镇的法官
package test.leecode.intelligence;import org.junit.Assert;import org.junit.Test;import cn.fansunion.leecode.intelligence.FindTheTownJudge;/*** @author wen.lei@brgroup.com** 2022-3-12*/public class FindTheTownJudgeTest { @Test...
2022-03-21 11:44:03
264
原创 275、分糖果
Alice 有 n 枚糖,其中第 i 枚糖的类型为 candyType[i] 。Alice 注意到她的体重正在增长,所以前去拜访了一位医生。 医生建议 Alice 要少摄入糖分,只吃掉她所有糖的 n /2即可(n 是一个偶数)。Alice 非常喜欢这些糖,她想要在遵循医生建议的情况下,尽可能吃到最多不同种类的糖。 给你一个长度为 n 的整数数组 candyType ,返回: Alice 在仅吃掉 n /2枚糖的情况下,可以吃到糖的 最多 种类数。 ...
2022-03-21 11:21:55
89
原创 276、反转两次的数字
反转 一个整数意味着倒置它的所有位。 例如,反转2021得到1202。反转12300得到321,不保留前导零 。 给你一个整数 num ,反转 num 得到 reversed1 ,接着反转 reversed1 得到 reversed2 。如果 reversed2 等于 num ,返回true;否则,返回false。 示例1: 输入:num =526 输出:true 解释:...
2022-03-19 18:23:26
434
原创 277、三除数
给你一个整数 n 。如果 n 恰好有三个正除数 ,返回true;否则,返回false。 如果存在整数 k ,满足 n = k * m ,那么整数 m 就是 n 的一个 除数 。 示例1: 输入:n =2 输出:false 解释:2只有两个除数:1和2。 示例2: 输入:n =4 输出:true 解释:4有三个除数:1、2和4。 ...
2022-03-19 18:09:09
531
原创 278、找到所有数组中消失的数字
给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。 示例1: 输入:nums = [4,3,2,7,8,2,3,1] 输出:[5,6] 示例2: 输入:nums = [1,1] 输出:[2] 提示: n == nu...
2022-03-19 17:58:16
536
原创 279、寻找比目标字母大的最小字母
给你一个排序后的字符列表 letters ,列表中只包含小写英文字母。另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母。 在比较时,字母是依序循环出现的。举个例子: 如果目标字母 target ='z'并且字符列表为 letters = ['a','b'],则答案返回'a' 示例1: 输入: letters = ["c","f","j"],target ="a" ...
2022-03-18 19:36:28
85
原创 280、第 N 个泰波那契数
泰波那契序列 Tn 定义如下: T0 =0, T1 =1, T2 =1, 且在 n >=0的条件下 Tn+3= Tn + Tn+1+ Tn+2 给你整数 n,请返回第 n 个泰波那契数 Tn 的值。 示例1: 输入:n =4 输出:4 解释: T_3 =0+1+1=2 T_4 =1+1+2=4 示例2: ...
2022-03-18 19:30:27
365
原创 281、宝石与石头
给你一个字符串 jewels 代表石头中宝石的类型,另有一个字符串 stones 代表你拥有的石头。 stones 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。 字母区分大小写,因此"a"和"A"是不同类型的石头。 示例1: 输入:jewels ="aA", stones ="aAAbbbb" 输出:3 示例2: 输入:jewels ="z...
2022-03-18 19:24:10
119
原创 282、排列硬币
你总共有 n 枚硬币,并计划将它们按阶梯状排列。对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币。阶梯的最后一行 可能 是不完整的。 给你一个数字 n ,计算并返回可形成 完整阶梯行 的总行数。 示例1: 输入:n =5 输出:2 解释:因为第三行不完整,所以返回2。 示例2: 输入:n =8 输出:3 解释:因为第四...
2022-03-18 18:26:12
5936
原创 283、int*int,long*long,都可能溢出
packagetest.leecode.math; importjava.math.BigInteger; /** * int*int,long*long,都可能溢出 * @author wen.lei@brgroup.com * * 2022-3-18 */ publicclassIntMultiplyIntTest { publicstaticvoidmain(S...
2022-03-18 18:10:09
590
原创 284、统计好三元组
给你一个整数数组 arr ,以及 a、b 、c 三个整数。请你统计其中好三元组的数量。 如果三元组 (arr[i], arr[j], arr[k]) 满足下列全部条件,则认为它是一个 好三元组 。 0<= i < j < k < arr.length |arr[i] - arr[j]| <= a |arr[j] - arr[k]| <= b |arr[i] - arr[k]| <= c 其...
2022-03-08 20:04:42
88
原创 285、猜数字大小
猜数字游戏的规则如下: 每轮游戏,我都会从1到 n 随机选择一个数字。 请你猜选出的是哪个数字。 如果你猜错了,我会告诉你,你猜测的数字比我选出的数字是大了还是小了。 你可以通过调用一个预先定义好的接口intguess(intnum) 来获取猜测结果,返回值一共有3种可能的情况(-1,1或0): -1:我选出的数字比你猜的数字小 pick < num 1:我选出的数字比你猜的数字大 pick > num ...
2022-03-08 19:52:54
152
原创 286、种花问题
假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给你一个整数数组 flowerbed 表示花坛,由若干0和1组成,其中0表示没种植花,1表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花?能则返回true,不能则返回false。 示例1: 输入:flowerbed = [1,0,0,0,1], n =...
2022-03-05 18:21:28
455
原创 287、数组的度
给定一个非空且只包含非负数的整数数组 nums,数组的 度 的定义是指数组里任一元素出现频数的最大值。 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。 示例1: 输入:nums = [1,2,2,3,1] 输出:2 解释: 输入数组的度是2,因为元素1和2的出现频数最大,均为2。 连续子数组里面拥有相同度的有如下所示: [...
2022-03-05 17:11:06
411
原创 288、至少是其他数字两倍的最大数
给你一个整数数组 nums ,其中总是存在 唯一的 一个最大整数 。 请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是,则返回 最大元素的下标 ,否则返回 -1。 示例1: 输入:nums = [3,6,1,0] 输出:1 解释:6是最大的整数,对于数组中的其他整数,6至少是数组中其他元素的两倍。6的下标是1,所以返回1。 示例2: ...
2022-03-05 17:03:22
143
原创 289、最大连续 1 的个数
给定一个二进制数组 nums , 计算其中最大连续1的个数。 示例1: 输入:nums = [1,1,0,1,1,1] 输出:3 解释:开头的两位和最后的三位都是连续1,所以最大连续1的个数是3. 示例2: 输入:nums = [1,0,1,1,0,1] 输出:2 提示: 1<= nums.length <=...
2022-03-05 16:55:10
126
原创 290、三角形的最大周长
给定由一些正数(代表长度)组成的数组 nums ,返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形,返回0。 示例1: 输入:nums = [2,1,2] 输出:5 示例2: 输入:nums = [1,2,1] 输出:0 提示: 3<= nums.length <=104 1...
2022-03-05 16:39:34
311
原创 291、杨辉三角
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例1: 输入: numRows =5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 示例2: 输入: numRows =1 输出: [[1]] ...
2022-03-05 15:43:13
65
原创 292、斐波那契数
斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由0和1开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) =0,F(1) =1 F(n) = F(n -1) + F(n -2),其中 n >1 给定 n ,请计算 F(n) 。 示例1: 输入:n =2 输出:1 解释:F(2) = F(1) + F(0) =1+0...
2022-03-05 15:36:04
170
原创 293、数组形式的整数加法
整数的 数组形式 num 是按照从左到右的顺序表示其数字的数组。 例如,对于 num =1321,数组形式是 [1,3,2,1] 。 给定 num ,整数的 数组形式 ,和整数 k ,返回 整数 num + k 的 数组形式 。 示例1: 输入:num = [1,2,0,0], k =34 输出:[1,2,3,4] 解释:1200+34=1234 示例2: ...
2022-03-05 14:02:18
87
原创 294、最小栈
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 voidpush(intval) 将元素val推入堆栈。 voidpop() 删除堆栈顶部的元素。 inttop() 获取堆栈顶部的元素。 intgetMin() 获取堆栈中的最小元素。 示例1: 输入: [...
2022-03-05 13:56:33
67
原创 296、好数对的数目
给你一个整数数组 nums 。 如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。 返回好数对的数目。 示例1: 输入:nums = [1,2,3,1,1,3] 输出:4 解释:有4组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从0开始 示例2: ...
2022-02-28 19:58:57
54
原创 297、4的幂
给定一个整数,写一个函数来判断它是否是4的幂次方。如果是,返回true;否则,返回false。 整数 n 是4的幂次方需满足:存在整数 x 使得 n == 4x 示例1: 输入:n =16 输出:true 示例2: 输入:n =5 输出:false 示例3: 输入:n =1 输出:true ...
2022-02-28 19:55:41
82
原创 297、n的幂
packagecn.fansunion.leecode.math; /** * @author wen.lei@brgroup.com * * 2022-2-23 */ publicclassMathPower { /** * 判定一个数n是否为某个数a的b次方。PowerOfThree,PowerOfFour,本质都是PowerOfN。 * ...
2022-02-28 19:54:00
87
原创 295、移除链表元素
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例1: 输入:head = [1,2,6,3,4,5,6], val =6 输出:[1,2,3,4,5] 示例2: 输入:head = [], val =1 输出:[] 示例3: 输入:head = [7,7,7,7], ...
2022-02-28 19:50:37
60
原创 298、3 的幂
给定一个整数,写一个函数来判断它是否是3的幂次方。如果是,返回true;否则,返回false。 整数 n 是3的幂次方需满足:存在整数 x 使得 n == 3x 示例1: 输入:n =27 输出:true 示例2: 输入:n =0 输出:false 示例3: 输入:n =9 输出:true 示例4: ...
2022-02-26 16:42:41
151
原创 299、存在连续三个奇数的数组
给你一个整数数组 arr,请你判断数组中是否存在连续三个元素都是奇数的情况:如果存在,请返回true;否则,返回false。 示例1: 输入:arr = [2,6,4,1] 输出:false 解释:不存在连续三个元素都是奇数的情况。 示例2: 输入:arr = [1,2,34,3,4,5,7,23,12] 输出:true 解释:存在连续三个元素都是奇数的情况,即 [5,7...
2022-02-26 15:50:55
77
原创 300、有效的括号
给定一个只包括'(',')','{','}','[',']'的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。 示例1: 输入:s ="()"输出:true示例2: 输入:s ="()[]{}"输出:true示例3: 输入:s ="(]"输出:false示例4: 输入:s ="([)]"输出:false示例5: 输入:s ="{[]}"输出:t...
2022-02-26 15:41:25
195
原创 301、反转链表
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例2: 输入:head = [1,2] 输出:[2,1] 示例3: 输入:head = [] 输出:[] 提示: 链表中节点的数目范围是 [0,5...
2022-02-26 15:21:34
66
原创 302、亲密字符串
给你两个字符串 s 和 goal ,只要我们可以通过交换 s 中的两个字母得到与 goal 相等的结果,就返回true;否则返回false。 交换字母的定义是:取两个下标 i 和 j (下标从0开始)且满足 i != j ,接着交换 s[i] 和 s[j] 处的字符。 例如,在"abcd"中交换下标0和下标2的元素可以生成"cbad"。 示例1: 输入:s ="ab", goal =...
2022-02-26 15:15:14
333
原创 303、合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例1: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 示例2: 输入:l1 = [], l2 = [] 输出:[] 示例3: 输入:l1 = [], l2 = [0] 输出:[0] ...
2022-02-26 15:14:33
73
原创 304、合并两个有序数组
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为0,应忽略。nums2 的长度为 n 。 ...
2022-02-26 11:23:29
100
原创 305、完美数
对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」。 给定一个 整数 n, 如果是完美数,返回true;否则返回false。 示例1: 输入:num =28 输出:true 解释:28=1+2+4+7+14 1,2,4,7, 和14是28的所有正因子。 示例2: 输入:num =7 ...
2022-02-26 11:02:56
138
原创 306、丢失的数字
给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。 示例1: 输入:nums = [3,0,1] 输出:2 解释:n =3,因为有3个数字,所以所有的数字都在范围 [0,3] 内。2是丢失的数字,因为它没有出现在 nums 中。 示例2: 输入:nums = [0,1] 输出:2 解释:n =2,因为有...
2022-02-26 10:22:51
61
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人