会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
lulixiu1999
博客园
首页
新随笔
联系
管理
订阅
上一页
1
2
3
4
5
下一页
2024年2月6日
二分搜索套路
摘要: 我们前文 我写了首诗,把二分搜索变成了默写题 详细介绍了二分搜索的细节问题,探讨了「搜索一个元素」,「搜索左侧边界」,「搜索右侧边界」这三个情况,教你如何写出正确无 bug 的二分搜索算法。 但是前文总结的二分搜索代码框架仅仅局限于「在有序数组中搜索指定元素」这个基本场景,具体的算法问题没有这么直接
阅读全文
posted @ 2024-02-06 16:49 lulixiu
阅读(48)
评论(0)
推荐(0)
2024年2月3日
闭着眼睛写二分搜索
摘要: 本文就来探究几个最常用的二分查找场景:寻找一个数、寻找左侧边界、寻找右侧边界。而且,我们就是要深入细节,比如不等号是否应该带等号,mid 是否应该加一等等。分析这些细节的差异以及出现这些差异的原因,保证你能灵活准确地写出正确的二分查找算法。 另外再声明一下,对于二分搜索的每一个场景,本文还会探讨多种
阅读全文
posted @ 2024-02-03 19:43 lulixiu
阅读(85)
评论(0)
推荐(0)
滑动窗口算法变成默写题
摘要: #include <stdio.h> #include <string.h> int main() { int left = 0, right = 0; char s[] = "example"; // 假设有一个字符串 s while (left < right && right < strlen
阅读全文
posted @ 2024-02-03 19:01 lulixiu
阅读(41)
评论(0)
推荐(0)
2024年2月2日
哈希表
摘要: 哈希表实现 #include<stdio.h> #include<stdlib.h> #include<string.h> #define HASHTABLE_CAPACITY 20 // File: array_hash_map.c /* 键值对 int->string */ typedef st
阅读全文
posted @ 2024-02-02 16:57 lulixiu
阅读(37)
评论(0)
推荐(0)
双指针技巧秒杀七道链表题目
摘要: 合并两个有序链表 我们的 while 循环每次比较 p1 和 p2 的大小,把较小的节点接到结果链表上,看如下 GIF: 形象地理解,这个算法的逻辑类似于拉拉链,l1, l2 类似于拉链两侧的锯齿,指针 p 就好像拉链的拉索,将两个有序链表合并;或者说这个过程像蛋白酶合成蛋白质,l1, l2 就好比
阅读全文
posted @ 2024-02-02 16:57 lulixiu
阅读(25)
评论(0)
推荐(0)
双指针秒杀七道数组题目
摘要: 删除有序数组中的重复项 简单解释一下什么是原地修改: 如果不是原地修改的话,我们直接 new 一个 int[] 数组,把去重之后的元素放进这个新数组中,然后返回这个新数组即可。 但是现在题目让你原地删除,不允许 new 新数组,只能在原数组上操作,然后返回一个长度,这样就可以通过返回的长度和原始数组
阅读全文
posted @ 2024-02-02 16:56 lulixiu
阅读(28)
评论(0)
推荐(0)
2024年1月30日
哈希表
摘要: 哈希表实现 #include<stdio.h> #include<stdlib.h> #include<string.h> #define HASHTABLE_CAPACITY 20 // File: array_hash_map.c /* 键值对 int->string */ typedef st
阅读全文
posted @ 2024-01-30 19:59 lulixiu
阅读(55)
评论(0)
推荐(0)
2024年1月28日
差分数组
摘要: 构造差分数组 int* constructDifferenceArray(int* nums, int length) { int* diff = (int*)malloc(length * sizeof(int)); diff[0] = nums[0]; for (int i = 1; i < l
阅读全文
posted @ 2024-01-28 20:24 lulixiu
阅读(24)
评论(0)
推荐(0)
数组前缀和
摘要: 一维数组中的前缀和 https://leetcode.com/problems/range-sum-query-immutable/description/ 区域和检索 #include <stdio.h> #include <stdlib.h> // 定义 NumArray 结构体 typedef
阅读全文
posted @ 2024-01-28 19:35 lulixiu
阅读(34)
评论(0)
推荐(0)
链表操作
摘要: 代码随想录 移除元素。不设置虚拟头节点,分类讨论。 struct ListNode* removeElements(struct ListNode* head, int val) { struct ListNode* temp; // 当头结点存在并且头结点的值等于val时 while (head
阅读全文
posted @ 2024-01-28 19:35 lulixiu
阅读(23)
评论(0)
推荐(0)
上一页
1
2
3
4
5
下一页
公告