摘要: 1.数据结构之链表 链表是最基本的动态数据结构,是真正的动态结构,不需要处理固定容量,但与此同时带来的是随机访问能力的丧失,其原因是底层内存分配不连续。 小tip:虚拟头节点dummy的作用在于,让对链表头节点的操作和链表中其他节点的操作相同,不需要对头节点单独处理。 2.链表相关题目 2.1从尾到 阅读全文
posted @ 2020-03-30 10:57 fooever 阅读(201) 评论(0) 推荐(0)
摘要: 1.题目描述 题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 2.分析边界条件及测试用例 1.常规输入:包含变换过的数组, 阅读全文
posted @ 2019-10-29 20:36 fooever 阅读(257) 评论(0) 推荐(0)
摘要: 1 class TreeNode { 2 private Object element; 3 private TreeNode leftChild; 4 private TreeNode rightChild; 5 6 //preOrder traversal recursion style 7 public void preOrder(TreeNode root) { 8 if (root != 阅读全文
posted @ 2019-10-24 20:28 fooever 阅读(195) 评论(0) 推荐(0)
摘要: 1.题目描述 请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入“We are happy.”,则输出“We%20are%20happy.” 2.分析边界条件及测试用例 1.考虑特殊输入,空串、单空格、多空格,测试用例“”,“ ”,“ ”; 2.考虑输入字符串无空格,测试用例“strin 阅读全文
posted @ 2019-10-20 21:27 fooever 阅读(259) 评论(0) 推荐(0)
摘要: 1.引例(简单形式) 在一个二维数组中,每一行按从左到右递增的顺序排列,下一行的第一个元素大于上一行最后一个元素,找出目标数是否在此二维数组中。 1.1分析 此题输入为二维数组,其实质是一维有序数组的问题,将二维数组的元素索引对应一维数组,进而采用二分搜索方法求解。 复杂度分析:时间复杂度O(log 阅读全文
posted @ 2019-10-18 15:14 fooever 阅读(539) 评论(0) 推荐(0)
摘要: 本题与3-1基本相同,不同之处在于数组不能修改,考虑辅助数组可采用3-1解法进行求解,以空间代价进行求解。 1.题目描述 在一个长度为n+1的数组里的所有数字都在1~n的范围内,所以数组中至少存在一个数字是重复的。请找出数组中任意一个重复的数字,但不能修改输入的数组。例如输入长度为8的数组{2,3, 阅读全文
posted @ 2019-10-17 21:38 fooever 阅读(672) 评论(0) 推荐(0)
摘要: 1.题目描述 在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但是不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7,的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数组2或者3。 2.分析边界条件及 阅读全文
posted @ 2019-10-17 10:28 fooever 阅读(3998) 评论(1) 推荐(0)
摘要: 1.POJO POJO(Plain Ordinary Java Object):POJO就是一个简单的普通的Java对象,它不包含业务逻辑或持久逻辑等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。未加载其他类型属性,因而不受任何限 阅读全文
posted @ 2019-10-16 15:49 fooever 阅读(191) 评论(0) 推荐(0)