LeetCode
文章平均质量分 59
leetcode刷题记录
上火不找我
2022新星计划算法赛道top4 算法/编程/大数据/云计算__一颗正在用努力和汗水浇灌的在校卷心菜
展开
-
【LeedCode每周总结】还在犹豫怎么刷LeedCode有没有用?快来加入每日刷题卷进大厂吧,冲冲冲
排序API的作用就是传入一一个数组,并姐对数组按照给定的规则进行就地排序。挑了一些很不错又很实用的基础题目,捎带着还有一些实用的算法,大家一起前来复习一下吧~我们可以用Java自带的API对数组进行排序,然后出现次数大于N/2的元素自然就会在中间了LeedCode169. 多数元素LeedCode912. 排序数组LeedCode164. 最大间距LeedCode905. 按奇偶排序数组LeedCode539. 最小时间差LeedCode六、976. 三角形的最大周长LeedCode881. 救生艇原创 2022-03-06 19:49:10 · 9391 阅读 · 63 评论 -
(学习报告)《LeetCode零基础指南》(第九讲) 简单递归
1、递归基本概念 递归的意思就是不停的调用自己,但是我们要知道的是我们的计算机资源是有限的,一般来说递归的层数不能太深(特别是自己写的程序有问题容易资源耗尽!)。递归通常来说是程序写着简洁但是人的思维量比较大同时计算机的执行效率没有直接写的代码效...原创 2022-03-10 22:11:33 · 5226 阅读 · 6 评论 -
[学习报告]《LeetCode九日集训》Day8 二级指针
在 MATLAB 中,有一个非常有用的函数 reshape ,它可以将一个 m x n 矩阵重塑为另一个大小不同(r x c)的新矩阵,但保留其原始数据。给你一个由二维数组 mat 表示的 m x n 矩阵,以及两个正整数 r 和 c ,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的 行遍历顺序 填充。如果具有给定参数的 reshape 操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。原创 2022-03-09 21:53:37 · 5061 阅读 · 4 评论 -
LeedCode73. 矩阵置零(Java语言实现)
我们可以用两个标记数组分别记录每一行和每一列是否有零出现。具体地,我们首先遍历该数组一次,如果某个元素为 0,那么就将该元素所在的行和列所对应标记数组的位置置为 true。最后我们再次遍历该数组,用标记数组更新原数组即可。原创 2022-03-05 23:27:06 · 7881 阅读 · 27 评论 -
[学习报告]《LeetCode零基础指南》(第4讲) 指针
LeedCode1470. 重新排列数组;LeedCode1929. 数组串联LeedCode1920. 基于排列构建数组 LeedCode1480. 一维数组的动态和LeedCode剑指 Offer 58 - II. 左旋转字符串原创 2022-03-05 23:18:12 · 7315 阅读 · 0 评论 -
[学习报告]《LeetCode零基础指南》(第三讲)一维数组
1、顺序存储2、存储方式3、长度和容量4、数组的索引5、数组的函数传参原创 2022-03-04 18:48:08 · 8153 阅读 · 0 评论 -
LeedCode1492. n 的第 k 个因子(Java语言实现)
方法一:枚举我们可以从小到大枚举所有在 [1, n]范围内的数,并判断是否为 n 的因子。原创 2022-03-03 21:39:35 · 6763 阅读 · 0 评论 -
[学习报告]《LeetCode零基础指南》(第二讲)循环
[学习报告]《LeetCode零基础指南》(第二讲)循环学习「 算法 」的捷径就是 「 题海战略 」原创 2022-03-03 21:25:17 · 6782 阅读 · 0 评论 -
[学习报告]《LeetCode零基础指南》(第一讲) 函数
从每一轮开始,每天开启新一篇《LeetCode零基础指南》原创 2022-03-02 21:47:01 · 7052 阅读 · 0 评论 -
LeedCode118. 杨辉三角(Java语言实现)——教你在两周时间刷完数据结构
方法很好理解:第一行有1个元素,第n行有n个元素 *每一行的第一个元素和最后一个元素都是1 *第三行开始,对于非第一个元素和最后一个元素的元素为上面和上面前面元素的和 *即arr[i][j]=arr[i-1][j-1] + arr[i-1][j];原创 2022-03-02 21:42:22 · 7104 阅读 · 1 评论 -
LeedCode121. 买卖股票的最佳时机(Java语言实现)
记录【今天之前买入的最小值】计算【今天之前最小值买入,今天卖出的获利】,也即【今天卖出的最大获利】比较【每天的最大获利】,取最大值即可二、我们只要用一个变量记录一个历史最低价格 minprice,我们就可以假设自己的股票是在那天买的。那么我们在第 i 天卖出股票能得到的利润就是 prices[i] - minprice。因此,我们只需要遍历价格数组一遍,记录历史最低点,然后在每一天考虑这么一个问题:如果我是在历史最低点买进的,那么我今天卖出能赚多少钱?当考虑完所有天数之时,我们就得到了最好的答案。原创 2022-03-01 22:16:39 · 6031 阅读 · 0 评论 -
LeedCode350. 两个数组的交集 II(Java语言实现)
方法一:通过新建立一个辅助链表,将输入的两个数组循环比较,然后将两个数组的交集输出。方法二:排序 + 双指针如果两个数组是有序的,则可以使用双指针的方法得到两个数组的交集。首先对两个数组进行排序,然后使用两个指针遍历两个数组。初始时,两个指针分别指向两个数组的头部。每次比较两个指针指向的两个数组中的数字,如果两个数字不相等,则将指向较小数字的指针右移一位,如果两个数字相等,将该数字添加到答案,并将两个指针都右移一位。当至少有一个指针超出数组范围时,遍历结束。原创 2022-03-01 22:11:38 · 5275 阅读 · 0 评论 -
LeedCode53. 最大子数组和(Java语言实现)
LeedCode53. 最大子数组和 方法:动态规划思路和算法给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。原创 2022-02-28 19:41:07 · 6267 阅读 · 0 评论 -
LeedCode88. 合并两个有序数组(Java语言实现)
LeedCode88. 合并两个有序数组把数组2替换掉数组1里的0,然后.sort()排序。执行用时 : 1 ms, 击败了99.05% 的用户 内存消耗 : 34.8 MB, 击败了95.46% 的用户原创 2022-02-28 19:26:30 · 6234 阅读 · 0 评论 -
LeedCode217. 存在重复元素(Java语言实现)
方法一:排序在对数字从小到大排序之后,数组的重复元素一定出现在相邻位置中。因此,我们可以扫描已排序的数组,每次判断相邻的两个元素是否相等,如果相等则说明存在重复的元素。复杂度分析时间复杂度:O(Nlog N),其中 N 为数组的长度。需要对数组进行排序。空间复杂度:O(log N),其中 N 为数组的长度。注意我们在这里应当考虑递归调用栈的深度。原创 2022-02-27 22:55:04 · 6784 阅读 · 0 评论 -
LeedCode1.两数之和(Java语言实现)
方法一:暴力枚举思路及算法最容易想到的方法是枚举数组中的每一个数 x,寻找数组中是否存在 target - x。当我们使用遍历整个数组的方式寻找 target - x 时,需要注意到每一个位于 x 之前的元素都已经和 x 匹配过,因此不需要再进行匹配。而每一个元素不能被使用两次,所以我们只需要在 x 后面的元素中寻找 target - x。原创 2022-02-27 22:40:51 · 5629 阅读 · 0 评论