随笔分类 -  算法题

摘要:704. 二分查找 参考:二分查找有几种写法?它们的区别是什么? # 求非降序范围[first, last)内第一个不小于value的值的位置 def lower_bound(array, first, last, value): while first < last: # 搜索区间[first, 阅读全文
posted @ 2022-03-24 17:08 wuzu 阅读(77) 评论(0) 推荐(0)
摘要:31. 下一个排列 首先从后向前查找第一个顺序对 (i,i+1),满足 a[i] < a[i+1]。这样「较小数」即为 a[i]。此时 [i+1,n) 必然是下降序列。 如果找到了顺序对,那么在区间 [i+1,n) 中从后向前查找第一个元素 j 满足 a[i] < a[j]。这样「较大数」即为 a[ 阅读全文
posted @ 2022-03-21 13:19 wuzu 阅读(80) 评论(0) 推荐(0)
摘要:148. 排序链表 快速排序 用快速排序时,将中间节点当作pivot比结尾节点快,下图分别为中间节点和尾节点的运行结果。 class Solution { public ListNode sortList(ListNode head) { if (head == null || head.next 阅读全文
posted @ 2022-03-18 12:48 wuzu 阅读(66) 评论(0) 推荐(0)