Leetcode算法刷题
文章平均质量分 64
小脑呆瓜不发达
这个作者很懒,什么都没留下…
展开
-
LeetCode刷题规划---设定4个月
算法因为知道算法对以后面试大厂是必须会被提问,涉及到的问题。所以学好算法,对以后肯定是没什么坏处的。个人经历我自己其实已经有过一段时间的做题,但是一直没有什么成效,特别让人觉得沮丧的是昨天刚刚做的题,今天打开的时候,居然还要重新去找题解,重新看一遍。觉得这样进度缓慢,也找不到什么成就感,决定重新规划自己的做题路线和方法!所以我是打算定一个短期的目标期限为4个月,重新再来!分享首先做题方面每天要做多少题,这个问题的回答会有两个方面,1是“题海战术“,2是“归纳总结”。其实我之前就是支持“题原创 2022-03-13 21:37:58 · 521 阅读 · 0 评论 -
leetcode---283.移动零(双指针)
文章目录题目:移动零一、解题思路二、实现代码题目:移动零一、解题思路这道题我们可以利用双指针的思路,设置left,right两个指针(注意:双指针在数组的刷题中非常常见,务必要掌握!)我们给两个指针分配任务。right指针是为了找到数组中非零的数字,left指针是为了在该下标与right所在的下标中交换。每一次交换都是将非零数字交换到右边,将0交换到左边。时间复杂度:O{n}空间复杂度:O{1}二、实现代码class Solution { public void mov原创 2021-07-05 18:46:40 · 148 阅读 · 0 评论 -
108.将有序数组转换为二叉搜索树
文章目录前言一、题目:将有序数组转换为二叉搜索树二、解题代码总结前言二叉搜索树一定程度上可以提高搜索效率。高度平衡二叉树:指左右子树的高度相差不超过 1 的树为平衡二叉树。举个例子先假设一个单链表,如果要找6数字,是不是要一个一个遍历,最后遍历6次,才找到6,但是这样效率比较低。但如果是树结构,查找6数字的话,只需要遍历3次就可以找到,时间上快了一倍。刚刚大概讲了一下什么是二叉树,想要深入了解的话可以看一下这篇文章。二叉树链接一、题目:将有序数组转换为二叉搜索树学习过树结构的原创 2021-07-04 12:08:28 · 159 阅读 · 0 评论 -
88.合并两个有序数组
文章目录记录一、合并两个有序数组二、解法一三、解法二四、解法三:逆向双指针记录一、合并两个有序数组这道题有三种解法:有两种都是利用双指针变量实现的。二、解法一看到两组有序数组并要求合并成一个,最开始的想法就是:两个数组合并后在调用sort方法排序。所以实现代码:如下 public void merge(int[] nums1, int m, int[] nums2, int n) { for(int i=0;i<n;i++) { nums1[m+i]=nums2原创 2021-07-03 21:24:01 · 224 阅读 · 0 评论 -
搜索插入位置---二分查找
文章目录题目 :搜索插入位置一、解题思路!二、提交代码总结题目 :搜索插入位置一、解题思路!题意是叫你在排序数组中寻找是否存在一个目标值,那么读者肯定立马就能想到利用二分法在 O(logn) 的时间内找到是否存在目标值。二、提交代码class Solution { public int searchInsert(int[] nums, int target) { int n=numd.length; int left; int .原创 2021-07-01 13:47:51 · 46 阅读 · 0 评论 -
2021-06-19数组异或操作(第一天的算法刷题)
数组异或操作题目是这道题目是lecode数组里的第一题。题目给出n就是数组的长度,数组nums[i]就是start+2*i。然后对数组里面的所有数进行异或运算所以首先先介绍一下什么是异或运算异或的数学符号为“⊕”,计算机符号为“xor”,如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只.原创 2021-06-19 22:09:15 · 704 阅读 · 1 评论