Carmen-Xiao
Carmen-Xiao
全部文章
分类
学习笔记(1)
题解(34)
归档
标签
去牛客网
登录
/
注册
Carmen
下面的按钮点一下,你会发现新大陆
TA的专栏
0篇文章
0人订阅
题解
0篇文章
0人学习
全部文章
(共35篇)
题解 | #字符串出现次数的TopK问题#
时间复杂度:,遍历统计为,但是降序排序需要 空间复杂度:,使用hashmap辅助结构。 本题的思路其实很简单,就是map结构统计出现的频率。取出map中value值最大的key返回。所以关键部分在后面如何在map中取k个value最大值。 i...
Java
2021-11-28
0
254
题解 | #数组中出现次数超过一半的数字#
哈希法很容易实现,这里就不写了。排序法的话也很简单,但是如果使用自带的sort排序的话会有o(logn)的空间复杂度,可以自己实现堆排序,但这都不是最优解。 要求:空间复杂度:O(1),时间复杂度 O(n) 具体做法: 初始化:候选人cond = -...
Java
2021-11-26
0
243
题解 | #判断是不是平衡二叉树#
参考https://www.nowcoder.com/practice/8a2b2bf6c19b4f23a9bdb9b233eefa73?tpId=117&&tqId=37721&rp=1&ru=/activity/oj&qru=/ta/job-code-hi...
Java
2021-11-26
0
251
题解 | #单链表的排序#
import java.util.*; /* * public class ListNode { * int val; * ListN...
Java
2021-11-26
0
273
题解 | #岛屿数量#
DFS深度优先搜索 DFS就是沿着一条路径一直走下去,当遇到终止条件的时候才会返回 遍历数组中的每一个值,如果是1就说明是岛屿,然后把它置为0或者其他的字符都可以,只要不是1就行,然后再遍历他的上下左右4个位置。如果是1,说明这两个岛屿是连着的,只能算是一个岛屿,我们还要把它置为0,然...
Java
2021-11-24
0
363
题解 | #接雨水问题(DP)#
动态规划 对于下标 i: 下雨后水能到达的最大高度等于下标 i两边的最大高度的最小值, 下标 i 处能接的雨水量等于下标 i 处的水能到达的最大高度减去 arr[i]。 步骤: 1.做法是对于数组 arr中的每个元素,分别向左和向右扫描并记录左边和右边的最大高度。 ...
Java
2021-11-23
0
334
题解 | #合并k个已排序的链表#
分而治之! 本题能过很好的理解分治和递归。 做本题之前,可以做一下https://leetcode-cn.com/problems/merge-two-sorted-lists/这个题目! 我们如果能够做到合并两个有序的链表,剩下的就是分治算法的思维了。 思路分析: ...
Java
2021-11-22
10
977
题解 | #在旋转过的有序数组中寻找目标值#
解法一: 思路分析:题目要求为o(n)的时间复杂度,所以暴力法是可以AC的。代码略。 解法二: 思路分析:对于顺序的数组寻找某个值,一般都可以考虑采用二分查找。但这题目和普通的二分查找不一样。数组是在某段区域上递增的,所以对应的二分查找也需要修改。不能直接套用常规的二分,得与中间值...
Java
2021-11-22
0
240
题解 | #求平方根#
这个题很早之前就做过了,使用二分查找来降低时间复杂度。但是边界的问题处理的不好。有两点需要注意: 1.left是从1开始的。 这是因为我们需要返回int类型,所以我们在做if判断的时候使用的是除法,防止超出范围。除数不能为0,所以先把特殊值0排除,因此left从1开始。 2.whi...
Java
2021-11-21
0
292
题解 | #重建二叉树(递归)#
根据中序遍历和前序遍历可以确定二叉树,具体过程为: 根据前序序列第一个结点确定根结点 根据根结点在中序序列中的位置分割出左右两个子序列 对左子树和右子树分别递归使用同样的方法继续分解 例如: 前序序列{1,2,4,7,3,5,...
Java
2021-11-21
0
264
首页
上一页
1
2
3
4
下一页
末页