跳跃游戏II 题目: 给定一个长度为n的0索引整数数组nums。初始位置为nums[0]。 每个元素nums[i]表示从索引i向前跳转的最大长度。换句话说,如果你在nums[i]处,你可以跳转到任意nums[i+j]处: 0<=j<=nums[i] i+j<n 返回到达nums[n1]的最小跳跃次数。生成的测试用例可以到达nums[n1]。 示例1: 输入:nums=[2,3,1,1,4] 输出:2 解释:跳到最后一个位置的最小跳跃数是2。 从下标为0跳到下标为1的位置,跳1步,然后跳3步到达数组的最后一个位置。 示例2: 输入:nums=[2,3,0,1,4]...

H指数 题目: 给你一个整数数组citations,其中citations[i]表示研究者的第i篇论文被引用的次数。计算并返回该研究者的h指数。 根据维基百科上h指数的定义:h代表“高引用次数”,一名科研人员的h指数是指他(她)至少发表了h篇论文,并且每篇论文至少被引用h次。如果h有多种可能的值,h指数是其中最大的那个。 示例1: 输入:citations=[3,0,6,1,5] 输出:3 解释:给定数组表示研究者总共有5篇论文,每篇论文相应的被引用了3,0,6,1,5次。 由于研究者有3篇论文每篇至少被引用了3次,其余两篇论文每篇被引用不多于3次,所以她的h指数是3。 示例2: 输...

矩阵置零 题目: 给定一个mxn的矩阵,如果一个元素为0,则将其所在行和列的所有元素都设为0。请使用原地算法。 示例1: 输入:matrix=[[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]] 示例2: 输入:matrix=[[0,1,2,0],[3,4,5,2],[1,3,1,5]] 输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]] 解题思路:遍历数组遇到为0的元素则将该行第一个元素和该列第一个元素置0,之后对每一行/列的第一个元素进行判断,如果为0则将该行/列的元素都置为0,matrix[0][0]需要...

二叉搜索树的后序遍历序列 题目: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树: 5 /\ 26 /\ 13 示例1: 输入:[1,6,3,2,5] 输出:false 示例2: 输入:[1,3,2,6,5] 输出:true 解题思路:先找到根节点,再通过寻找数组中第一个大于根节点得节点,从而划分出左右子树,之后进行循环判断即可 classSolution{ publicbooleanverifyPostorder(int[]postorder){ if(po...

山脉序列中的最大值 题目: 描述 给n个整数的山脉数组,即先增后减的序列,找到山顶(最大值)。 数组严格递增,严格递减 样例 例1: 输入:nums=[1,2,4,8,6,3] 输出:8 例2: 输入:nums=[10,9,8,7], 输出:10 解题思路:找出第一个nums[i]>nums[i+1]的数即可 publicclassSolution{ / @paramnums:amountainsequencewhichincreasefirstlyandthendecrease @return:thenmountaintop / publicintmountainSequ...

  OnN4P0jLbD1O   2023年11月02日   25   0   0 数组

背包问题 题目:在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i] 样例样例1:输入:[3,4,8,5],backpacksize=10输出:9 样例2:输入:[2,3,5,7],backpacksize=12输出:12 解题思路:从最后一个物品开始思考,如果前n1个物品可以拼出m那么前n个物品必然可以拼出m,此时不需要装入最后一个物品;如果前n1个物品不能拼出m,那么装入最后一个物品判断是否可以拼出m。同样,判断第n1个物品是否可以拼出mA[n1]的重量分别考虑装入和不装入情况,以此类推 publicclassSolution{ / @param...

  OnN4P0jLbD1O   2023年11月02日   61   0   0 数组背包问题状态方程

寻找旋转排序数组中的最小值 题目:假设按照升序排序的数组在预先未知的某个点上进行了旋转。 (例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。 请找出其中最小的元素。 你可以假设数组中不存在重复元素。 示例1: 输入:[3,4,5,1,2]输出:1示例2: 输入:[4,5,6,7,0,1,2]输出:0 解题思路:用二分法来解决,首先明确最小值一定是在右侧旋转后的区间内,所以只用判断mid元素是否在右侧递增区间,如果不在那就在右边继续查找,如果在那么最小值就是mid本身以及mid左边的元素,以此来判断查找范围 ps:旋转排序的查找题目,我总结出的思路是一定要找到...

N字形变换 题目: 将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行Z字形排列。 比如输入字符串为"PAYPALISHIRING"行数为3时,排列如下: PAHN APLSIIG YIR 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。 请你实现这个将字符串进行指定行数变换的函数: stringconvert(strings,intnumRows); 示例1: 输入:s="PAYPALISHIRING",numRows=3 输出:"PAHNAPLSIIGYIR" 示例2: 输入:s="PAYPALISHI...

  OnN4P0jLbD1O   2023年11月02日   162   0   0 i++Java数组字符串

判断子序列 题目: 给定字符串s和t,判断s是否为t的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。 进阶: 如果有大量输入的S,称作S1,S2,...,Sk其中k>=10亿,你需要依次检查它们是否为T的子序列。在这种情况下,你会怎样改变代码 示例1: 输入:s="abc",t="ahbgdc" 输出:true 示例2: 输入:s="axc",t="ahbgdc" 输出:false 解题思路:与最长公共子序列类似,只是当两个字符不同时取值逻辑有变化...

  OnN4P0jLbD1O   2023年11月02日   71   0   0 Java字符串bc子序列

有效的数独 题目: 请你判断一个9x9的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字1-9在每一行只能出现一次。 数字1-9在每一列只能出现一次。 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。 示例1: 输入:board= [["5","3",".",".","7",".",".",".","."] ,["6",".",".","1","9","5",".",".","."] ,[".","9","8",".",".",".",".","6","."] ,["8",".",".",".","6",".",".",".","3"] ,["4","....

  OnN4P0jLbD1O   2023年11月02日   59   0   0 数独i++Java数组
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~