Frog Jump
蛙跳问题, 一般的跳数问题都是贪婪算法. 但是这个问题比较特殊, 他给的是一个排序好的递增数组,表示石头的编号, 然后青蛙可以跳k, k-1, k+1三个固定的数字, 并且青蛙只能前跳. 那么这个问题可以直接用memo+dfs来做, 用一个map充当memo, 然后只需要每次查找上面三个位置是否有石头可以跳即可.
蛙跳问题, 一般的跳数问题都是贪婪算法. 但是这个问题比较特殊, 他给的是一个排序好的递增数组,表示石头的编号, 然后青蛙可以跳k, k-1, k+1三个固定的数字, 并且青蛙只能前跳. 那么这个问题可以直接用memo+dfs来做, 用一个map充当memo, 然后只需要每次查找上面三个位置是否有石头可以跳即可.
给一个字符串表示的数, 返回删除k个数字后, 最小的那个.首先需要观察一下数字的表示, 越靠左边的数字的位数越高, 那么他 这个需要用一个数组, 把字符放到数组的index中, 数组本身, 找到前k个大的数字, 然后验证是否是递减的, 如果不是, 则删除当前的. 最后还要把leading 0去掉.
给一个字符串, 返回第一个非重复的字符. 这个就count一下就找到了.
给一个数组, 返回它的随机洗牌. 直接用random就好, 一般o(n)的复杂度都可以.