好好刷题进大厂
好好刷题进大厂
全部文章
分类
未归档(1)
题解(20)
归档
标签
去牛客网
登录
/
注册
好好刷题进大厂的博客
全部文章
(共21篇)
链表中点取值
其实很好弄,条件是fast.next!=null,fast.next.next!=null 画四个点,把两个指针的位置画一下根据条件判断slow的落点就行了 1、偶数上中点,基数中点 public static Node midOrUpMid...
双指针
链表
java
2022-03-18
0
377
题解 | #寻找峰值#
1、二分法: 时间复杂度o(logn),空间复杂度o(1) 思想:上坡一定有波峰,下坡不一定有波峰 import java.util.*; public class Solution { /*...
Java
二分
2021-11-24
28
2517
题解 | #缺失的第一个正整数#
本题关键点在于:长度为n的数组,最小未出现整数一定是在[1,n+1]的闭区间内的 极限情况是:{1,2,3,4,5}那么最小整数就是n+1=6 一般情况:{1,3,4,5,6} 最小整数是2 其实这么思考,一个长度为n的数组,按照一个一个位置填充,极限情况就是把1~n个数字依次填充...
Java
hash
原地hash
2021-11-23
1
416
题解 | #螺旋矩阵#
1、双指针、模拟 时间复杂度O(nm),空间复杂度O(nm)保存结果所用到的空间大小 import java.util.*; public class Solution { public&n...
Java
双指针
模拟
2021-11-21
0
378
题解 | #二维数组中的查找#
线性查找:时间复杂度O(n+m),空间复杂度O(1) 思路:一、起点的选择:根据(1)向右递增 (2)向下递增的规律,可以选择(右上)和(左下)两个节点 二、why? 1、为什么选择(右上/左下): 因为对于右上角节点来说,他有两个方向可以走,一个向左(递减),一个向下(递增...
Java
线性查找
2021-11-20
0
280
题解 | #顺时针旋转矩阵#
1、模拟 利用空间复杂度O(n^2)新数组的空间,时间复杂度O(n^2) public int[][] rotateMatrix(int[][] mat, int n) { &nbs...
Java
模拟
原地交换
2021-11-20
0
352
题解 | #数字在升序数组中出现的次数#
1、二分法 空间复杂度O(1),时间复杂度O(logn) 思路:二分法找目标值的begin和end,最后begin-end+1,重点是如何找begin和end 1、找begin while...
Java
二分查找
2021-11-19
0
248
题解 | #调整数组顺序使奇数位于偶数前面(一)#
1、不适用额外的空间复杂度,采用尾插法,双指针; 时间复杂度O(n^2),空间负载度O(1) 思路:首先一个指针i=0,一个指针一直走找奇数,如果奇数下标为j,则从i+1~j-1的位置都向后移动一位,奇数插入到i的位置,i指针向后移动一位 import java.util....
Java
尾插法+双指针
2021-11-19
0
345
题解 | #三个数的最大乘积#
1、线性法找5个数字: 时间复杂度O(n),空间复杂度O(1) import java.util.*; public class Solution { /** &...
Java
线性查找
2021-11-16
0
327
题解 | #划分链表#
双指针+尾插法:时间复杂度O(n),空间复杂度O(1) 思路:通过定位下标,不停往中间尾插小于目标值的数 如何定位下标?为什么要这么定位?为什么要使用尾插法 如例子:1,4,3,2(1),5,2(2)|3 好好思考下,是不是只需要定位两个指针到1,4一直往里面插后面小于3的元素就...
Java
双指针
尾插法
2021-11-15
0
279
首页
上一页
1
2
3
下一页
末页