会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Yao's Blog
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
···
28
下一页
2023年9月5日
《剑指Offer》-52-两个链表的第一个公共节点
摘要: 书上给出的第一个方法是用两个栈,将两个链表的节点依次入栈,然后出栈就相当于从后往前遍历了,这样只需要找到最后一个相同的链表节点 同样应该也可以使用内存栈,也就是递归来实现这一过程 第二种思路不需要额外的空间,而是先分别遍历两个链表得到链表的长度,然后让较长的链表指针将差值走掉,最后就可以同步遍历,第
阅读全文
posted @ 2023-09-05 14:58 YaosGHC
阅读(9)
评论(0)
推荐(0)
2023年9月4日
《剑指Offer》-68-二叉树的最近公共祖先
摘要: #### 二叉搜索树 ```cpp TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) { // 如果p、q一定存在,那么root就一定不是空指针 TreeNode* traverse = root; wh
阅读全文
posted @ 2023-09-04 13:37 YaosGHC
阅读(12)
评论(0)
推荐(0)
2023年8月28日
Java多线程-实现 生产者-消费者 模式
摘要: 多线程实现生产者消费者,堆积满 100 后停止生产,消费到小于 50 后继续生产 这是一种写法,但是我觉得不太好: 1. 它通过循环创建了很多的线程,每个线程只消费/生产一次 2. 它使用`notifyAll()`通知所有的线程唤醒,包括生产者和消费者,感觉产品数量永远也达不到 50 ```java
阅读全文
posted @ 2023-08-28 13:51 YaosGHC
阅读(147)
评论(0)
推荐(0)
2023年8月27日
华为OD-机试
摘要: ### B 卷 #### 100 分题 1:支持优先级的队列 实现一个支持优先级的队列,高优先级先出队列,同优先级时先进先出。 如果两个输入数据和优先级都相同,则后一个数据不入队列被丢弃。 队列存储的数据内容是一个整数。 输入描述:一组待存入队列的数据(包含内容和优先级)。 输出描述:队列的数据内容
阅读全文
posted @ 2023-08-27 22:18 YaosGHC
阅读(364)
评论(0)
推荐(0)
2023年8月24日
《剑指Offer》-60-n 个骰子的点数
摘要: 打印出 n 个骰子所能扔出的所有点数的概率 ### 思路 dp[i][j] 表示 i 个骰子,投出 j 的概率 而概率 = 点数出现的次数 / 总次数 而 i 个骰子掷出 j 的次数 = i - 1 个骰子掷出 j- 1 的次数 + i - 1 个骰子掷出 j -2 的次数 + … + i - 1
阅读全文
posted @ 2023-08-24 22:10 YaosGHC
阅读(22)
评论(0)
推荐(0)
《剑指Offer》-56-数组中数字出现的次数
摘要: 数组中除了两个数字,其他数字都出现了两次,找出这两个只出现了一次的数字 判断一个数字出现过没有,我们最常用的就是 set,set 中存在,那么就说明已经出现过了 但是这里要求空间复杂度`O(1)`,所以得换个思路 于是我想到了排序,将数组排序后相同的两个重复元素肯定是相邻的,这样我们只需要一次遍历就
阅读全文
posted @ 2023-08-24 00:10 YaosGHC
阅读(21)
评论(0)
推荐(0)
2023年8月20日
力扣-4-寻找两个正序数组的中位数
摘要: 题目要求`O(log (m+n))`的时间复杂度 知道了两个数组的长度,那么中位数的下标以及如何计算是可以确定的,给出的是两个正序数组,如果使用双指针,从两个数组头开始扫描并比较,找出合并后第 K 小的数字,时间复杂度是多少? 时间复杂度是`O((M+N)/2)`,这个目标还不及题目的要求,看到`l
阅读全文
posted @ 2023-08-20 14:18 YaosGHC
阅读(27)
评论(0)
推荐(0)
2023年8月19日
《剑指Offer》-40-最小的 K 个数
摘要: 如果直接调用 sort API 然后要几个打印几个就没意思了,应该是和某个排序的内部过程结合 首先排除O(^N2^)的低效率排序算法,最先想到的其实是堆排序,小根堆,但是需要额外的空间 其次像快排、归并这样的也不合适…… 我想到了可以这样,快排第一轮划分之后,将部分舍去…… 应该就是这样了,堆排序或
阅读全文
posted @ 2023-08-19 20:23 YaosGHC
阅读(11)
评论(0)
推荐(0)
2023年8月17日
《剑指Offer》-31-栈的压入、弹出序列
摘要: 经典的选择题,但是这里要求用代码实现 我们可以根据 pop 结果去模拟这个过程,如果能够拟合,就是 true 什么情况下拟合成功? 两个指针都指向了数组末尾,同时栈空 太复杂了,条件能否简化一点? 什么时候拟合失败? pushed 指针指向末尾全部压入栈中,但是poped 数组指针卡住了,不匹配导致
阅读全文
posted @ 2023-08-17 15:28 YaosGHC
阅读(18)
评论(0)
推荐(0)
《剑指Offer》-16-数值的整数次方
摘要: 将 n 次相乘的幂运算转化为 log2N 次平方运算,并且采用**递归**算法 原书给出的==最优算法本身不处理负数,是外层函数处理的== ```cpp double myPow(double x, int n) { double res = pow(x, abs(n)); if (n > 1);/
阅读全文
posted @ 2023-08-17 15:10 YaosGHC
阅读(16)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
···
28
下一页
公告