爱跳街舞的程序员
爱跳街舞的程序员
全部文章
题解
归档
标签
去牛客网
登录
/
注册
算法不好玩
全部文章
/ 题解
(共6篇)
题解 | #求平方根#
思路分析: x 的平方根不会超过 x / 2,特殊情况可以解下面的方程: 解得:。因此,需要对 x = 0, 1, 2, 3 做单独的讨论。 参考代码: public class Solution { public int mysqrt(int x) { // 注意:特殊用...
二分查找
算法
2021-07-20
2
470
题解 | #子数组的最大累加和问题#
方法:动态规划 public class Solution { public int maxsumofSubarray(int[] arr) { int len = arr.length; // dp[i] 表示:以 nums[i] 结尾的数组的长度 ...
动态规划
数组
2021-07-20
0
354
题解 | #合并两个有序的数组#
方法一:正着合并 public class Solution { public void merge(int A[], int m, int B[], int n) { int[] ACopy = new int[m]; for (int i = 0; i ...
算法
数组
2021-07-20
0
383
题解 | #最长无重复子数组#
注意到数据范围: ,一般而言要求时间复杂度为 ,这里 是输入数组的长度。 解题思路: 可以枚举所有的子区间,时间复杂度为 ; (重点)在左端点固定的情况下,如果一个子区间包含重复元素,更长的子区间也一定包含重复元素,因此更长的区间不需要枚举。 细节: right 先向后移动,left 再向右...
算法
滑动窗口
哈希表
数据结构
2021-07-19
1
556
题解 | #最小的K个数#
说明: 这是很常见的 TopK 考题,有 2 种方法: 方法一:快速排序的 parititon,这种方法需要一下子把数据全部读入内存; 方法二:优先队列,可以应对数据量很大的情况。 方法一:减治思想(逐渐缩小搜索区间) 必需要会的知识点:快速排序的 parititon。 parititon:遍...
优先队列
堆
快速排序
partition
算法
数据结构
2021-07-19
1
471
题解 | #二分查找-II#(Java)
解题关键的地方:在遇到等于 target 的元素的时候,还需要继续搜索下去。具体来说: 目标元素有可能在 mid 这个位置; 目标元素有可能在 mid 的左边; 目标元素一定不会在 mid 的右边。 所以,当 nums[mid] == target 成立的时候,下一轮搜索区间是 [left..m...
二分查找
算法
2021-07-19
1
427