2013-10-27总结

2013-10-27总结

  1. 二分

    1. 条件为l<h-1,防止 (2+3)/2 == 2 死循环,在之后对l与h分别判断哪个是x

    2. if([mid] < = x),大于等于的一端取‘=’,另外一端取‘= mid+1 或者mid-1’

  2. search in rotated sorted array

    1. 有一个trick是,当[l]与[h]与[mid]相等的时候,有两种情况,一种其他数在mid左边,另外一种其他数在mid右边

  3. merge sorted array A and B

    1. 直接从len(A)+len(B)-1处开始填,不会覆盖A的

    2. 如果最后B没有填完,还要写个循环把B填写进去

  4. sort by anagrams

    1. 其实就是按anagrams分组

    2. 关键是sortChars函数

    3. 然后直接sort或者以sortChars为Key放在一个Map里面,然后再逐个读出

  5. search in sorted array with empty strings

    1. 先写个binary search

    2. 然后改,[mid]为””时,向两边找第一个不为空设为mid,直到越过l或者h

  6. Longest Increasing Subsequence,LIS

    1. 动态规划,end[i]保存以[i]结尾的最大长度

    2. end[t] = max i from 0...t-1,    if array[t] < array[i]: 1  else: end[i] + 1

  7. 数据流,insert,getRank

    1. Binary search tree

    2. 每个节点多存一个数据,左子树节点数目

  8. Find the ceiling value of a BST

    1. 找得到,保存路径,计算inorder的下一个节点

    2. 找不到,假设插入此节点,找inorder的下一个节点

  9. index in array,detect a cycle

    1. 打标记
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值