剑指offer
Joyce兰
这个作者很懒,什么都没留下…
展开
-
剑指offer之字符串中第一个出现一次的字符
使用一个LinkedHashMap(迭代遍历时,按照插入的顺序遍历)和一个List,如果字母第一次出现,存入map中,并把位置存入List中,遍历map,找到第一个value为1的字母,返回List存储的位置。import java.util.*; public class Solution { public int FirstNotRepeatingChar(String str) { ...原创 2018-05-13 17:45:45 · 85 阅读 · 0 评论 -
青蛙跳台阶
迭代实现 递归实现虽然简单易于理解,但是的时间复杂度和O(n)的空间却让人无法接受,下面迭代法的具体实现,比较简单,就不再赘述实现步骤。时间复杂度为O(n),空间复杂度为O(1)。 int fibIteration(int n){ if (n <= 0) return -1; if (1 == n) return 1; ...原创 2018-07-17 23:48:01 · 95 阅读 · 0 评论 -
二分查找
递归实现: public int GetIndex(int[] array,int k,int low,int high) { int mid=(high-low)/2+low;//[3],3 的情况,只有一个数字,且该数字是我们要找的数字,因此把求中间放在判断low和high前面 if(array[mid]==k) ...原创 2018-07-20 00:25:32 · 93 阅读 · 0 评论