![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
leetcode小题
算法
大龄烤红薯
徐家庄电器专修学校-软件工程专业
展开
-
leetcode小题415--字符串相加
字符串相加原创 2022-09-07 23:18:40 · 161 阅读 · 21 评论 -
贪心算法---1005.K 次取反后最大化的数组和
题目描述给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组:选择某下标 i 并将 nums[i] 替换为 -nums[i] 。重这个过程恰好 k 次。可以多次选择同一个下标 i 。以这种方式修改数组后,返回数组可能的最大和 。示例 1:输入:nums = [4,2,3], k = 1输出:5解释:选择下标 1 ,nums 变为 [4,-2,3] 。示例 2:输入:nums = [3,-1,0,2], k = 3输出:6解释:选择下标 (1, 2, 2) ,nums 变为原创 2022-05-05 11:21:38 · 820 阅读 · 0 评论 -
45.跳跃游戏Ⅱ--leetcode
题目描述给你一个非负整数数组 nums ,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。attention:假设你总是可以到达数组的最后一个位置。示例 1:输入: nums = [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。思路分析本题要求的是最小的跳跃次数,和之前的最大步数覆盖max原创 2022-05-03 22:18:10 · 157 阅读 · 0 评论 -
55.跳跃游戏--leetcode
问题:给定一个非负整数数组 [nums] ,开始时位于数组的初始位置 ;数组中每个下标对应的元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达数组的最后位置。思路:贪心算法看不懂的可以去下面这个链接看 具体思路:跳跃游戏 b站详解若是数组中的每一个元素值都大于0,无论怎么跳都可以到达最后的位置;但是我们不知道数组中的0分布的位置,所以用贪心算法解决:index是我们下一跳要跳到的最佳位置;如下例所示,我们每次在 i 位置上可以跳跃到的最大位置max_jump= i+nums[i]原创 2022-04-25 17:01:19 · 1657 阅读 · 0 评论 -
leetcode-824. 山羊拉丁文
输入:sentence = "I speak Goat Latin"输出:"Imaa peaksmaaa oatGmaaaa atinLmaaaaa"class Solution { public String toGoatLatin(String sentence) { //比较笨的方法 //根据空格拆分数组 String[] split = sentence.split(" "); //因为最后要返回一个字符串 所以创建一个可原创 2022-04-21 15:55:32 · 243 阅读 · 0 评论 -
386.字典排序
给你一个整数 n ,按字典序返回范围 [1, n] 内所有整数。输入:n = 13输出:[1,10,11,12,13,2,3,4,5,6,7,8,9]输入:n = 2输出:[1,2]public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); ArrayList原创 2022-04-19 10:14:16 · 103 阅读 · 0 评论 -
118.杨辉三角 java求解
118.给定list二维数组的杨辉三角 JAVA求解输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]class Solution { public List<List<Integer>> generate(int numRows) { //二维list数组 List<List<Integer>> list2=new ArrayList<&g原创 2022-03-21 16:50:10 · 572 阅读 · 0 评论 -
258. 整数各位相加
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。输入: num = 38输出: 2解释: 各位相加的过程为:38 --> 3 + 8 --> 1111 --> 1 + 1 --> 2由于 2 是一位数,所以返回 2。输入: num = 0输出: 0class Solution { public int addDigits(int num) { //1.我的代码 while (num >原创 2022-03-21 12:23:09 · 132 阅读 · 0 评论 -
905.按奇偶排序数组
给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。class Solution { public int[] sortArrayByParity(int[] nums) { //思路:双指针法 int i=0; int j=nums.le原创 2022-03-21 11:51:04 · 48 阅读 · 0 评论 -
922.奇偶排序数组Ⅱ
给定一个非负整数数组 nums, nums 中一半整数是 奇数 ,一半整数是 偶数 。对数组进行排序,以便当 nums[i] 为奇数时,i 也是 奇数 ;当 nums[i] 为偶数时, i 也是 偶数 。你可以返回 任何满足上述条件的数组作为答案 。示例 1:输入:nums = [4,2,5,7]输出:[4,5,2,7]解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。示例 2:输入:nums = [2,3]输出:[2,3]class Solution {原创 2022-03-21 11:45:25 · 172 阅读 · 0 评论