AKA丶窝窝
AKA丶窝窝
全部文章
分类
题解(19)
归档
标签
去牛客网
登录
/
注册
AKA丶窝窝的博客
全部文章
(共19篇)
子数组的最大累加和问题
1.暴力解法 找出每个子数组比较大小,如果当前子数组的和比当前所求最大值大就更新,会超时,时间复杂度:O(n2),需要两次循环,空间复杂度:O(1);import java.util.*; public class Solution { /* * max sum of the s...
分治
动态规划
贪心
2021-09-09
0
400
寻找第K大(即排序)
这个题我的思路是排序再找到第K大的数,所以很多排序都能用,但是它要求时间复杂度为O(n)1.简单冒泡排序(不符合本题要求) 时间复杂度为O(n2),两次循环;空间复杂度:O(1)import java.util.*; public class Solution { public int ...
寻找第K大
排序
2021-09-08
0
418
实现二叉树先序,中序和后序遍历
这个题就是考察你对树的遍历1.递归解法 我用了三个集合存放每次遍历结果,再进行一次遍历把每次存放到二维结果数组中。时间复杂度:O(n),遍历所有结点;空间复杂度:O(n),递归的深度。import java.util.*; /* public class TreeNode { int val...
2021-09-07
0
469
最小的K个数
这个题的思路就是先对数组排序,再取前k个数即可。(插入排序,冒泡排序,选择排序,快排,堆排均可)1.利用Arrays.sort()进行排序 再进行一次遍历存入前k个数,得最后结果,时间复杂度:O(nlogn),Arrays的sort排序,空间复杂度:O(1)import java.util.A...
2021-09-06
0
405
在二叉树中找到两个节点的最近公共祖先
想到了要用后序遍历或者层次遍历,判定条件却没想出,看了大佬的思路才知道的。1.后序遍历 一共三种情况:两个结点在根结点的右子树(根结点的左子树为空);两个结点在根结点的左子树(根结点的右子树为空);一个结点在根结点的左子树,一个结点在根结点的右子树;时间复杂度:O(n),遍历每个结点;空间复杂...
2021-09-06
0
554
最长无重复子数组
看了大佬们的思路才写出来的,太笨了,发现自己双指针的就不知道咋动手。一般简单的遍历写不出时,应当考虑使用集合,队列这种额外空间帮助求解的。1.利用双指针利用双指针,一左一右指针,两者一开始都在开头,从头开始遍历,利用哈希表记录数组的数字跟位置,遍历时哈希表中若存在,就需要更新左指针,最后再比较窗口大...
2021-09-04
0
408
求二叉树的层序遍历
1.dfs(广度遍历) 利用一个队列就可以实现,时间复杂度,空间复杂度均为O(n)import java.util.*; /* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; ...
2021-09-03
0
464
有重复数字的二分查找(找到最靠前的那一个)
1.暴力遍历,通过简单的遍历就可以实现,时间复杂度O(n),空间复杂度O(1)import java.util.;public class Solution { public int search (int[] nums, int target) { // write code ...
2021-09-02
0
518
LRU缓存结构(即操作系统最近最久未使用算法)
一开始也不会写,通过看了一下大佬们的代码,写了出来,还有的大佬是直接通过一个集合,一个哈希表写出来,感觉都好牛逼但是我觉得整体的思路都是一样的,在这我是进行了一个总结。利用一个Map来判断存入结点数是否越界,如果越界就要进行缺页处理,换出最近最久未使用的页。Set函数如果在Map存在就直接进行更新,...
2021-09-01
1
526
首页
上一页
1
2
下一页
末页