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

浙公网安备 33010602011771号