自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 力扣 面试经典150题 堆

不必完全排序完成,通过快排找到一个元素的正确位置后,分为前半部分和后半部分,在此基础上可以排除一部分的元素。如果不采用随机选择的枢轴元素的话,极可能导致遇到最坏情况,所以最好每次选择枢轴元素是采用随机选择。构建堆——O(klogk),遍历剩余元素,并完成堆的更新O(n*logk),注意这里的k可以视作常数,所以总体还是O(n),但当k也很大时(最坏情况),复杂度会靠近 O(nlogn)。维护一个大小为k的小根堆,每当发现比堆顶大的元素,就将这个较大元素与堆顶交换,执行重排,最后保留在堆顶的元素就是第k大。

2025-10-26 15:42:30 303

原创 力扣 面试经典150题 二分查找

在二分寻找所在行时,会与上一题有所不同,寻找答案所在行需要额外的一个元素存储最新的合法的mid,因为找所在行本质上是在找target的最近的左边界,所以我们需要一个latest变量记录最新的合法的左边界。可能的疑问:为什么没找到目标时,插入位置设定在left?虽然通过本题,但仍然没有满足O(logn)的要求。找到第一个出现下降趋势前的那个元素的下标即可。

2025-10-23 23:57:35 253

原创 力扣 面试经典150题 滑动窗口

【代码】力扣 面试经典150题 滑动窗口。

2025-10-18 14:56:09 169

原创 力扣 面试经典150题 多维动态规划

实际上由于我们只关心最短路径的长度,所以我们不必非要按照题目的实际移动方向来进行DP,也就是说我们可以从三角形的底边向顶点移动(进行dp),这样得到的最小路径长度就会直接保存在顶点中。也就能够节省掉最后一行的遍历,同时i>j的部分我们也能做到不必关心其初值大小,即不必考虑边界问题。本代码中ans的得出还需要遍历最后一行,有些繁琐。

2025-10-13 14:10:20 140

原创 力扣 面试经典150题 位运算

虽然^是二进制的运算方式,但是以上性质同样可以推广到十进制,因为实际上,x的二进制表示本就唯一,两个相同的二进制数异或后,必定为0;于0异或同理,同0保持0,1^0仍是1。线性时间,但常数空间,不可以哈希,只能位运算。性质:x^0 == x;

2025-10-11 22:14:04 146

原创 力扣 面试经典150题 一维动态规划

【代码】力扣 面试经典150题 一维动态规划。

2025-10-05 16:01:16 209

原创 力扣 面试经典150题 数组 / 字符串

同26,只不过判定的间隔从2起步,即新数组的倒数第二个元素(slow-2所指内容,slow是新数组尾待插入元素的位置)与fast所指内容比较,并在此基础上,额外考虑数组长度不足2的情况即可。此方法与80题的思路1类似,但因为需要先重排数组,并且还要一个一个元素计数并判定,所以总体而言效率较低,且没有利用上题目的多数元素特性,仍有改进空间。两数组的首位设置指针,指针指向的元素拉出来进行比较,较小者压入新数组,并让较小者对应的指针后移,依此循环,直到所有元素都已遍历。重排后,直接取数组的中位数为结果。

2025-09-14 17:50:03 213

原创 牛客竞赛-新手上路-语法入门-数组字符串 .c

牛客竞赛-新手上路-语法入门-数组字符串 .c

2022-08-07 23:04:44 3353

原创 牛客竞赛-新手上路-语法入门-选择结构.c

牛客竞赛-新手上路-语法入门-选择结构

2022-08-03 00:26:11 5072 1

原创 牛客竞赛-新手上路-语法入门-顺序结构 .c

牛客竞赛-新手上路-语法入门-顺序结构

2022-07-28 23:49:17 3017 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除