草庐IT

leetCode

全部标签

LeetCode 887. 鸡蛋掉落-题解分析

题目来源887.鸡蛋掉落题目详情给你k枚相同的鸡蛋,并可以使用一栋从第1层到第n层共有n层楼的建筑。已知存在楼层f,满足 0,任何从高于f的楼层落下的鸡蛋都会碎,从f楼层或比它低的楼层落下的鸡蛋都不会破。每次操作,你可以取一枚没有碎的鸡蛋并把它从任一楼层x扔下(满足 1)。如果鸡蛋碎了,你就不能再次使用它。如果某枚鸡蛋扔下后没有摔碎,则可以在之后的操作中重复使用这枚鸡蛋。请你计算并返回要确定f确切的值的最小操作次数是多少?示例1:输入:k=1,n=2输出:2解释:鸡蛋从1楼掉落。如果它碎了,肯定能得出f=0。否则,鸡蛋从2楼掉落。如果它碎了,肯定能得出f=1。如果它没碎,那么肯定能得出f=2。

LeetCode刷题第八九十周

动态规划如果某一问题有很多重叠子问题,使用动态规划是最有效的解题步骤:背包问题:01背包,完全背包,多重背包01背包:统一使用一维数组来进行遍历publicstaticvoidmain(String[]args){int[]weight={1,3,4};int[]value={15,20,30};intbagWight=4;testWeightBagProblem(weight,value,bagWight);}publicstaticvoidtestWeightBagProblem(int[]weight,int[]value,intbagWeight){intwLen=weight.len

LeetCode刷题第八九十周

动态规划如果某一问题有很多重叠子问题,使用动态规划是最有效的解题步骤:背包问题:01背包,完全背包,多重背包01背包:统一使用一维数组来进行遍历publicstaticvoidmain(String[]args){int[]weight={1,3,4};int[]value={15,20,30};intbagWight=4;testWeightBagProblem(weight,value,bagWight);}publicstaticvoidtestWeightBagProblem(int[]weight,int[]value,intbagWeight){intwLen=weight.len

9.20Leetcode记录

一、字符串的排列题干:输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例:输入:s="abc"输出:["abc","acb","bac","bca","cab","cba"]限制:1题解:全排列问题可采用递归的思路,固定某个位置,求出其他位置的全排列 我们可以通过交换来获得所有可能的情况。比如第一个位置上的字符,假如A和A交换,就相当于第一个位置上固定了A;假如A和B交换,B来到第一个位置,就相当于第一个位置上固定了B;假如A和C交换,C来到第一个位置,就相当于第一个位置上固定了C。递归的过程中都是同理。此外,因为可能有字符重复,我们

9.20Leetcode记录

一、字符串的排列题干:输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例:输入:s="abc"输出:["abc","acb","bac","bca","cab","cba"]限制:1题解:全排列问题可采用递归的思路,固定某个位置,求出其他位置的全排列 我们可以通过交换来获得所有可能的情况。比如第一个位置上的字符,假如A和A交换,就相当于第一个位置上固定了A;假如A和B交换,B来到第一个位置,就相当于第一个位置上固定了B;假如A和C交换,C来到第一个位置,就相当于第一个位置上固定了C。递归的过程中都是同理。此外,因为可能有字符重复,我们

二分查找-LeetCode704 简单题

LeetCode代码链接:https://leetcode.cn/problems/binary-search/题目:给定一个 n 个元素有序的(升序)整型数组 nums和一个目标值 target ,写一个函数搜索 nums 中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为4示例2:输入:nums=[-1,0,3,5,9,12],target=2输出:-1解释:2不存在nums中因此返回-1思路这道题目的前提是数组为有序数组,同时题目还强调数组中无重复元素,因为一旦有重复元

二分查找-LeetCode704 简单题

LeetCode代码链接:https://leetcode.cn/problems/binary-search/题目:给定一个 n 个元素有序的(升序)整型数组 nums和一个目标值 target ,写一个函数搜索 nums 中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为4示例2:输入:nums=[-1,0,3,5,9,12],target=2输出:-1解释:2不存在nums中因此返回-1思路这道题目的前提是数组为有序数组,同时题目还强调数组中无重复元素,因为一旦有重复元

LeetCode-400. 第N位数字

题目来源400.第N位数字题目详情给你一个整数n,请你在无限的整数序列 [1,2,3,4,5,6,7,8,9,10,11,...]中找出并返回第 n位上的数字。示例1:输入:n=3输出:3示例2:输入:n=11输出:0解释:第11位数字在序列1,2,3,4,5,6,7,8,9,10,11,...里是0,它是10的一部分。提示:1题解分析本题的解题关键是如何定位到指定字符所在的数字。通过仔细观察序列数字串,可以发现,位数为1的数字个数为9,位数为2的数字个数为90,位数为3的数字个数为900,依次类推。按照上述规律,可以进一步每种位数中包含的字符个数,它们是数字个数与位数的乘积。通过这种模拟法,

LeetCode-400. 第N位数字

题目来源400.第N位数字题目详情给你一个整数n,请你在无限的整数序列 [1,2,3,4,5,6,7,8,9,10,11,...]中找出并返回第 n位上的数字。示例1:输入:n=3输出:3示例2:输入:n=11输出:0解释:第11位数字在序列1,2,3,4,5,6,7,8,9,10,11,...里是0,它是10的一部分。提示:1题解分析本题的解题关键是如何定位到指定字符所在的数字。通过仔细观察序列数字串,可以发现,位数为1的数字个数为9,位数为2的数字个数为90,位数为3的数字个数为900,依次类推。按照上述规律,可以进一步每种位数中包含的字符个数,它们是数字个数与位数的乘积。通过这种模拟法,

leetcode 83. Remove Duplicates from Sorted List 删除排序链表中的重复元素(简单)

一、题目大意给定一个已排序的链表的头head,删除所有重复的元素,使每个元素只出现一次。返回已排序的链表。示例1:输入:head=[1,1,2]输出:[1,2]示例2:输入:head=[1,1,2,3,3]输出:[1,2,3]提示:链表中节点数目在范围[0,300]内-100题目数据保证链表已经按升序排列来源:力扣(LeetCode)链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-list著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。二、解题思路思路:如果下一个元素和当前元素的值相等,这个元素的下