
力扣专题
Formalinn
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
打卡力扣专题第二天 公平的糖果棒交换
公平的糖果棒交换 题目如下: 爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 根糖果棒的大小,B[j] 是鲍勃拥有的第 j 根糖果棒的大小。 因为他们是朋友,所以他们想交换一根糖果棒,这样交换后,他们都有相同的糖果总量。(一个人拥有的糖果总量是他们拥有的糖果棒大小的总和。) 返回一个整数数组 ans,其中 ans[0] 是爱丽丝必须交换的糖果棒的大小,ans[1] 是 Bob 必须交换的糖果棒的大小。 如果有多个答案,你可以返回其中任何一个。保证答案存在。 示例 1: 输入:A = [1,原创 2021-02-01 22:18:04 · 219 阅读 · 2 评论 -
#打卡力扣 相似字符串组
打卡力扣专题第一天 今天做的题目是相似字符串组,难度为困难。运用的思想是并查集。 题目 如果交换字符串 X 中的两个不同位置的字母,使得它和字符串 Y 相等,那么称 X 和 Y 两个字符串相似。如果这两个字符串本身是相等的,那它们也是相似的。 例如,“tars” 和 “rats” 是相似的 (交换 0 与 2 的位置); “rats” 和 “arts” 也是相似的,但是 “star” 不与 “tars”,“rats”,或 “arts” 相似 总之,它们通过相似性形成了两个关联组:{“tars”, “ra原创 2021-02-01 21:29:20 · 211 阅读 · 0 评论 -
Leetcode 至少是其他数字两倍的最大数
在一个给定的数组nums中,总是存在一个最大元素 。 查找数组中的最大元素是否至少是数组中每个其他数字的两倍。 如果是,则返回最大元素的索引,否则返回-1。 代码如下: ackage bad; public class atLeast { public int dominantIndex(int[] nums){ int maxIndex=0; for (int i=0;i<nums.len...原创 2020-04-22 23:08:39 · 176 阅读 · 0 评论 -
Leetcode 使用最小花费爬楼梯
数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 costi。 每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。 您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。 输入: cost = [10, 15, 20] 输出: 15 解释: 最低花费是从cost[1]开始,然后走两步即可到阶梯顶,...原创 2020-04-22 22:47:28 · 230 阅读 · 0 评论 -
Leetcode 1比特与2比特字符
线性扫描 、package bad; //1比特与2比特字符 public class bITE { public boolean isOneBitCharacter(int[] bits){ int i=0; while (i<bits.length-1){ i+=bits[i]+1; } return i==bits.length-1; } //测试类 public static voi...原创 2020-04-05 21:29:36 · 208 阅读 · 0 评论 -
Leetcode 数组的度
package bad; import java.util.Collections; import java.util.HashMap; import java.util.Map; public class arraYdU { public int findshortsubarray(int[] nums){ Map<Integer,Integer> left=new HashMap(...原创 2020-03-31 22:59:28 · 232 阅读 · 0 评论 -
Leetcode 最长连续递增序列
package bad; public class lEngth { public int finfLengthof(int[] nums){ if(nums.length==0) return 0; int max_len=1; int len=1; for(int i=0;i<nums.length-1;i++){ if(nums[i]<nums[i+1]){ len++; }el...原创 2020-03-31 17:02:57 · 148 阅读 · 0 评论 -
Leetcode 非递减数列
代码如下 package bad; public class cheCk { public boolean checkPossibility(int[] nums){ int cnt=0; for(int i=0;i<nums.length-1;i++){//注意 如果忘记-1会出现数组越界的情况 if(nums[i]>nums[i+1]){ int tmp=nums[i]; if(i...原创 2020-03-30 23:15:10 · 190 阅读 · 0 评论 -
Leetcode 图片平滑器
这道题大概意思应该是180°翻转,0变1 小声哔哔 像这种靠想象的题我真的学不会555 代码如下 package bad; public class smmoO { public int[][] imageSmoother(int[][] M){ int R=M.length,C=M[0].length;//R是行 C是列 int[][] ans=new int[R][C];//重组 for(in...原创 2020-03-30 22:25:53 · 170 阅读 · 0 评论 -
Leetcode 子数组最大平均数
这道题说实话我看懂了一半,害,始终还是只菜鸟 代码如下 package bad; public class Average { public double findMaxAverage(int[] nums,int k){ int[] sum=new int[nums.length];//new length; sum[0]=nums[0]; for(int i=1;i<nums.lengt...原创 2020-03-26 22:45:59 · 149 阅读 · 0 评论 -
Leetcode 三个数的最大乘积
今天做了这道题,有两种方法可能相对于容易理解一点 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 示例 1: 输入: [1,2,3] 输出: 6 示例 2: 输入: [1,2,3,4] 输出: 24 注意: 给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。 输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。 代码如下 第一...原创 2020-03-26 20:19:06 · 278 阅读 · 0 评论 -
Leetcode 种花问题
假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花),和一个数 n 。能否在不打破种植规则的情况下种入 n 朵花?能则返回True,不能则返回False。 示例 1: 输入: flowerbed = [1,0,0,0,1], n = 1 输出: Tr...原创 2020-03-25 23:09:21 · 312 阅读 · 0 评论 -
Leetcode 最短无序连续子数组
这道题有很多很多种做法,我选的是排序做法,可能比较容易理解点吧 代码如下: package bad; import java.util.Arrays;//引入Arrays类 public class shortUnfind { public int findUnsortedSubarry(int[] nums){ int[] snums=nums.clone();//clone调用对象 Array...原创 2020-03-25 21:47:50 · 192 阅读 · 0 评论 -
Leetcode 重塑矩阵
这道题真的很花时间,我在做测试类就掉坑了,还爬不上来,(我太菜了) 话不多说,代码如下 package bad; import sun.management.snmp.jvmmib.EnumJvmMemManagerState; import java.util.LinkedList;//引入util类中的LinkedList类 import java.util.Queue;//引入util类中...原创 2020-03-25 16:45:53 · 165 阅读 · 0 评论 -
Leetcode 数组拆分
这道题如果看力扣题目,可能会很懵逼,希望我的代码易懂一点。 以下是力扣题目 给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。 示例 1: 输入: [1,4,3,2] 输出: 4 解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3,...原创 2020-03-23 23:02:26 · 222 阅读 · 0 评论 -
Leetcode 数组中的K-diff数对
因为粗心,实在是太粗心了。Debug了很久。我要引以为戒!! package bad; import com.sun.deploy.security.SelectableSecurityManager; import java.util.Arrays;//引入util类中的Arrays类 //[3,1,4,1,5] k=2 3-1 5-3 public class kDiff { public i...原创 2020-03-23 22:18:30 · 195 阅读 · 0 评论 -
Leetcode 斐波那契数列
这道题有很多做法,我采用的的是记忆化自底向上的方法 package bad; import java.util.Scanner; //斐波那契数列 通常用F(n)表示 F(0)=0;F(1)=1;F(N)=F(N-1)+F(N-2); public class feiBoNa { public int fib(int N){ if(N<=1){ return N; } return memo...原创 2020-03-23 15:41:13 · 295 阅读 · 0 评论 -
Leetcode 最大连续1的个数 等级简单
方法:一次遍历 package bad; //[1,1,0,1,1,1] 3 public class maxOne { public int findMaxConsecutiveOnes(int[] nums){ int count=0;//定义次数 int maxCount=0;//定义最大次数 for(int i=0;i<nums.length;i++){//for循环找出1 if(n...原创 2020-03-23 14:31:08 · 148 阅读 · 0 评论 -
Leetcode 找到所有数组中消失的数字 等级简单
我果然还是个菜鸟,太菜了。 因为一个数组长度的问题Debug了很久,最后还是我学前端的哥看出了问题。I am so vegetable. package bad; import java.util.HashMap;//引入util类中的HashMap类 import java.util.LinkedList;//引入util类中的LinkedList类 import java.util.List;...原创 2020-03-22 23:46:17 · 152 阅读 · 0 评论 -
Leetcode 等级简单 移动零
leetcode虐我千百遍,我待leetcode如初恋 package bad; public class removeZero { public static void moveZero(int[] nums) { int lastNumberNotZero = -1; int count = 0; for (int i = 0; i < nums.length; i++) { if (n...原创 2020-03-22 14:13:14 · 155 阅读 · 0 评论 -
Leetcode 等级简单 移除元素
移除元素这道题有很多种做法。也要考虑很多种情况。 package bad; public class removeElement { public int removeE(int[] nums, int val) { int ans = 0; for (int num : nums) {//使用遍历 if (num != val) { nums[ans] = num; ans++; } } ret...原创 2020-03-22 14:10:32 · 145 阅读 · 0 评论 -
Leetcode 等级简单 删除排序数组中的重复项
双指针的做法 package bad; public class remove { public int removeduplicates(int[] nums){ if(nums.length==0) return 0;//判断数组长度 int i=0;//双指针 for(int j=1;j<nums.length;j++){ if(nums[j]!=nums[i]){ i++; nums...原创 2020-03-22 14:07:37 · 128 阅读 · 0 评论 -
Leetcode 黄金分割点等级简单
这道题,一定要注意的点,一定一定不要把double写成float 亲身经历,红了一大片。 public class Huangjin { public static void main(String[] args) { double min = 1;//中间值定为1 double breakPoint = 0.618;//黄金分割点值 int fz = 0;//分子 ...原创 2020-03-22 13:48:32 · 230 阅读 · 0 评论 -
Leetcode 两数之和 等级简单
这是一道很早很早之前做的题。也是力扣里面的一道简单题。但是对于菜得不能再菜的小白我,简直虐我千百遍。呜呜呜 class Helloworld {//Helloworld是个类名 public int[] twosum(int[] nums,int target){//public 是个公共类 Map<Integer,Integer> map=new HashMap<>();...原创 2020-03-22 13:42:57 · 142 阅读 · 0 评论 -
Leetcode 简单 数组 第三大数
力扣 等级简单 数组 第三大数 前半个月做的一道题,今天把它完善了。 package bad;//首先要建立一个Package import java.util.TreeSet;//引入util类中的TreeSet类 public class bigThird { public int thirdMax(int[] nums){ if(numsnull || nums.length0)//判断数组...原创 2020-03-22 13:35:55 · 233 阅读 · 0 评论