leetcode小题
算法
大龄烤红薯
电器专修学校-软件工程专业
展开
-
leetcode小题415--字符串相加
字符串相加原创 2022-09-07 23:18:40 · 180 阅读 · 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 · 869 阅读 · 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 · 176 阅读 · 0 评论 -
55.跳跃游戏--leetcode
问题: 给定一个非负整数数组 [nums] ,开始时位于数组的初始位置 ; 数组中每个下标对应的元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达数组的最后位置。 思路:贪心算法 看不懂的可以去下面这个链接看 具体思路:跳跃游戏 b站详解 若是数组中的每一个元素值都大于0,无论怎么跳都可以到达最后的位置; 但是我们不知道数组中的0分布的位置,所以用贪心算法解决: index是我们下一跳要跳到的最佳位置; 如下例所示,我们每次在 i 位置上可以跳跃到的最大位置max_jump= i+nums[i]原创 2022-04-25 17:01:19 · 1680 阅读 · 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 · 259 阅读 · 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 · 128 阅读 · 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 · 593 阅读 · 0 评论 -
258. 整数各位相加
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。 输入: num = 38 输出: 2 解释: 各位相加的过程为: 38 --> 3 + 8 --> 11 11 --> 1 + 1 --> 2 由于 2 是一位数,所以返回 2。 输入: num = 0 输出: 0 class Solution { public int addDigits(int num) { //1.我的代码 while (num >原创 2022-03-21 12:23:09 · 151 阅读 · 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 · 60 阅读 · 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 · 242 阅读 · 0 评论