![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode顺序刷题
是老哥吧
我的努力,会让你的点赞变得更有意义
展开
-
Leetcode-21天数据结构-第一天
217.存在重复元素方法1:使用Arrays.sort()函数,对数组进行排序,比较排序后的数组相邻元素是否存在相等情况;方法2:使用list超出时间限制;方法3:利用哈希表,其实利用哈希表,我这个代码写的不好,进行优化class Solution { public boolean containsDuplicate(int[] nums) { //方法1: // Arrays.sort(nums); // for(int i = 1;i &原创 2022-01-13 15:52:47 · 234 阅读 · 0 评论 -
Leetcode.两数相加(记录)
两数相加class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { //创建头尾节点,并置空 ListNode head = null, tail = null; //进位初始化为0 int carry = 0; while (l1 != null || l2 != null) { //判断长短原创 2021-09-23 14:11:29 · 130 阅读 · 0 评论 -
Leetcode.求x的平方根
Leetcode.求x的平方根题目求x的平方根,保留整数部分;题目难度:简单方法一:调用函数sqrt()第一开始就想到使用sqrt()函数,瞬间通过。但是看了评论区,我这样的应该直接被面试官赶出去吧。。。。。class Solution(object): def mySqrt(self, x): """ :type x: int :rtype: int """ #返回某个数的平方根 ans =原创 2021-09-16 20:39:28 · 336 阅读 · 0 评论 -
Leetcode58.最后一个单词的长度
Leetcode58.最后一个单词的长度求最后一个单词长度思路:对整个字符串分割空格,求最后一个单词长度注意:要去除字符串首尾的空格1、去除首尾空格strip()函数:str = " Hello world "str.strip() 输出:"Hello world"2、去除首空格lstrip()str = " Hello world " str.lstrip() 输出:'Hello world '3.去除尾部空格rstrip()函数str = " Hello worl原创 2021-09-08 16:34:08 · 62 阅读 · 0 评论 -
Leetcode.453.最小操作数使数组元素相等
Leetcode.453.最小操作次数使数组元素相等题目难度:简单题目:给定一个长度为 n 的 非空 整数数组,每次操作将会使 n - 1 个元素增加 1。找出让数组所有元素相等的最小操作次数。class Solution(object): def minMoves(self, nums): """ :type nums: List[int] :rtype: int """ #方法一、暴力法超时原创 2021-05-20 20:40:49 · 241 阅读 · 0 评论 -
Leetcode.645.错误的集合.697.数组的度
Leetcode.645.错误的集合题目难度:简单题目:集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。给定一个数组 nums 代表了集合 S 发生错误后的结果。请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/set-mismatch著作权归领扣网络所原创 2021-05-14 12:58:00 · 55 阅读 · 0 评论 -
Leetcode.485.最大连续1的个数 ;495.提莫攻击;414.第三大的数;628.三个数最大乘积
Leetcode.485最大连续1的个数题目难度:简单题目:原题链接思路:在注释中已经给出:class Solution { public int findMaxConsecutiveOnes(int[] nums) { //遍历 // sum用于记录最大的连续1的个数 int sum = 0; //temp用于记录当前段连续1的个数 int temp = 0; //遍历 fo原创 2021-05-13 23:08:53 · 115 阅读 · 0 评论 -
Leetcode.树专题
Leetcode.树专题写在前面,还记得之前分享一个大佬的刷题经验嘛,按专题来刷效果好一点。之前树专题只有三道题目,接下来树专题会连续更新,全部集中在这条。加油吧!标题110.平衡二叉树题目难度:中等题目:原题链接思路:1、平衡二叉树;2、左右子树的高度差不大于1,称为平衡二叉树;3、判断是否为平衡二叉树利用求左右子树高度差;4、定义一个高度函数,求左右子树高度;5、height(root);6、在这里解释为什么一个 return 0,一个return True.7、在求高度函数里原创 2021-04-08 09:56:06 · 101 阅读 · 1 评论 -
Leetcode.树专题
Leetcode.100.相同的树题目难度:简单题目:原题链接思路:1、判断树是否为空,两个都为空也是相同;2、如果一个为空,一个不为空则不相同;3、再判断值是否相等;4、递归调用,最简便的方法;java代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNo原创 2021-04-02 11:41:39 · 95 阅读 · 0 评论 -
Leetcode.1619删除某些元素后的均值
Leetcode.1619删除某些元素后的均值题目难度:简单题目:原题链接思路1、这道题竟然没有几个人,打卡,说明这道题不重要,可以忽略;2、题目是求删除最小百分之5的数和最大百分之五的数之后均值;3、先对数组进行排序;4、计算前百分之5元素的下标值m,后百分之五的下标起始位置为:arr.length - m ;5、遍历从m 到 arr.lenfth - m ,求和;6、元素个数为arr.length -2m ;class Solution { public double tr原创 2021-03-31 22:44:09 · 141 阅读 · 0 评论 -
Leetcode.203.移除链表元素
Leetcode.203.移除链表元素题目难度:简单题目:原题链接思路1、链表移除目标元素比数组移除更加容易;2、链移除不需要移动元素,遍历一次链表即可;3、移除元素,只需要理解一点即可,如下图:4、python版给出了详细解释;5、运行效率对比,哈哈哈忘了截图了# Definition for singly-linked list.# class ListNode(object):# def __init__(self, val=0, next=None):#原创 2021-03-31 22:16:42 · 83 阅读 · 0 评论 -
Leetcode.18四数之和
Leetcode.18四数之和题目难度:中等题目:原题链接思路:class Solution { public List<List<Integer>> fourSum(int[] nums, int target) { List<List<Integer>> quadruplets = new ArrayList<List<Integer>>(); //数组空或者不足以四个数时返回空表原创 2021-03-27 16:30:54 · 195 阅读 · 0 评论 -
Leetcode.3系列(多道题目)
Leetcode.3系列(多道题目)题目列表:326.3的幂15.三数之和16.最接近的三数之和326.求3的幂题目难度:简单求3的幂当n为0时,返回False;循环判断条件可以被3整除;15.三数之和题目难度:中等思路:方法一采取暴力求解,三重循环解决方法二采用双指针方法下面给出双指针的解题思路判断数组如果空直接返回;将数组排序处理,变成有序数组;如果排好顺序的数组全部为正,也直接返回False;双指针法,设置,L,R分别指向数组的头尾元素;L = i+原创 2021-03-26 20:48:36 · 218 阅读 · 1 评论 -
Leetcode.371.两整数之和
Leetcode.371.两整数之和题目难度:中等题目:原题链接思路:题目要求不能用+ -号,又要求和自然想到,二进制位的异或运算;二进制求和,异或运算;class Solution { public int getSum(int a, int b) { while(b != 0){ int temp = a ^ b; b = (a & b) << 1; a = temp;原创 2021-03-25 22:12:36 · 66 阅读 · 0 评论 -
Leetcode.1.两数之和
Leetcode.1.两数之和题目难度:简单题目:原题目链接写在前面,以后更新会给出三版代码,java版,python版,C++版;一直在不断改进更新博客的方式,希望更能规范自己的学习;思路暴力法解决,所谓不会,没有思路,暴力法(万物皆可暴力法解题,哈哈哈哈,开玩笑哈哈哈)暴力法思路:求给定数组两元素的和石否等于target;定一动一法,两层循环;简单易理解,看代码就可以;java版代码、python版、C++版;class Solution { public int[]原创 2021-03-25 21:10:08 · 82 阅读 · 0 评论 -
Leetcode.496.下一个更大元素I
Leetcode.496.下一个更大元素I题目难度:简单题目:原题链接写在前面,为什么我没觉得这个简单的简单哇,哇一声哭了。。。官方题解如下两种方式思路:暴力求解import java.util.Arrays;public class Solution { public int[] nextGreaterElement(int[] nums1, int[] nums2) { int len1 = nums1.length; int len2 = nu原创 2021-03-24 15:45:38 · 51 阅读 · 0 评论 -
Leetcode.349两个数组的交集
Leetcode.349两个数组的交集题目难度:简单题目:原题链接给定两个数组,编写一个函数来计算它们的交集。思路建立两个集合,首先将nums1和nums2元素放到建立的集合里面;为什么要建立集合呢?因为集合中的元素是不会重复的,所以在比较过程就不用重复比较多次啦;判断集合长度,我们只用遍历较短的集合就可以啦;新创建一个集合用于存放交的元素即交集;使用了set.contains函数,判断是否在其中,这道题如果用python写会更加简洁一些;最后要放在数组输出;和官方代码写的类似,不过原创 2021-03-20 15:45:38 · 143 阅读 · 2 评论 -
Leetcode189.旋转数组
Leetcode189.旋转数组题目难度:中等题目给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。进阶:尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗?思路:看到旋转数组,向右移动k个位置,那移出去的元素怎么存储呢?对,存到前面腾出来的位置,就像时钟日常13点表示1点钟,怎么得到是时钟上的1点呢,对,取模运算13%12=1同理 k值如果与n取模运算,k的位置元素旋转的分割点了方法原创 2021-03-19 19:41:09 · 161 阅读 · 0 评论 -
## 面试题:10.03.搜索旋转数组
面试题:10.03.搜索旋转数组题目:原题目搜索旋转数组。给定一个排序后的数组,包含n个整数,但这个数组已被旋转过很多次了,次数不详。请编写代码找出数组中的某个元素,假设数组元素原先是按升序排列的。若有多个相同元素,返回索引值最小的一个。题目难度:中等方法一:暴力法步骤和前面的几道题仍然是一个套路查找,暴力比较发现使用二分法反倒不行,这是求找到的第一个索引,所以还是暴力吧,再思考一下;二分法还是可以的方法二,二分法:二分法但是超出限制了还是暴力香啊int search(原创 2021-03-19 15:56:51 · 127 阅读 · 0 评论 -
Leetcode81.搜索旋转排序数组
Leetcode81.搜索旋转排序数组II题目难度:中等题目假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true,否则返回 false。思路题目要求只要搜索到,返回true仍然可以沿用153题的做法,暴力法,二分法这里给出暴力法,由于题目和153做法一致,这里不再给出所有做法。上代码...原创 2021-03-19 15:22:39 · 66 阅读 · 0 评论 -
Leetcode每日刷题:26,删除有序数组的重复项(详细口语化解答)
标题Leetcode每日刷题:26,删除有序数组的重复项从今天起,leetcode除了每日一题更新,还会从头开始,按照leetcode题解的顺序来刷题,保持1-3题左右,会给出十分详细的解释,(自己给自己讲一点问题都不能放过)这个是自己跟自己讲的全过程,所以非常口语化,以后慢慢规范一些;今天先更新一题题目思路:显然这是一道简单题,删除有序数组的重复项注意,是有序数组,说明什么?数组的排列会如下这样同一个数字重复会连续出现,所以我们想到什么?对,快慢指针,之前复习王道数据结构,里面有很多原创 2021-03-16 21:22:27 · 137 阅读 · 0 评论 -
Leetcode.33搜索旋转排序数组
Leetcode.33搜索旋转排序数组题目:原题链接整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …, nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2原创 2021-03-18 21:46:41 · 52 阅读 · 2 评论 -
Leetcode153.寻找排序数组中的最小值-.顺序刷题刷题系列day02
Leetcode153.寻找排序数组中的最小值-.顺序刷题刷题系列day02思路写在前面,小白初来咋到,代码写的丑,如果大佬们有有想法,在以后的更新过程欢迎在下面评论呀方法一.暴力法求解旋转有序数组的最小值,一看到题目,求最小值第一种方法直接暴力求解,咱就遍历吧,一个一个比较,管你啥时侯在那个位置反转,(这样一想中等难度的不过如此??,哈哈哈千万不要口出狂言)你看这击败率哈哈哈方法二.方法二其实和方法一类似,只不过因为题目说这是一个有序数组,但是可以从任意位置反转,所以肯定部分有序原创 2021-03-18 21:22:19 · 132 阅读 · 0 评论