- 博客(8)
- 收藏
- 关注
转载 LeetCode 刷题日记 31
本题要求由输入一个已知的数组,将该数组变为下一个更大的数组 12345 下一个更大的排列为12354 如果 该数组为降序排列,即所能组合的最大值,则将其转换为最小排列,即升序排列 观察任一数组 1 3 7 2 5 6 4 下一个比它大的排列 应为1 3 7 2 6 5 4 即 先从尾开始。找到一点 比 后一点 小 如果没找到,此时的坐标应为-1; int i = n...
2018-10-11 20:44:00 103
转载 LeetCode 刷题日记 29
不使用乘除模运算,完成对两个数的相除运算 规定 : 结果溢出返回 int 型最大值 考虑溢出情况 Integer.MIN_VALUE /(-1) = - Integer.MIN_VALUE = Integer.MAX_VALUE + 1 ,此时显然超出了正数最大值,溢出,则返回Integer.MAX_VALUE 其余除法不导致溢出 考虑 100 / 3 翻译成减法...
2018-10-11 11:34:00 98
转载 LeetCode 刷题日记 26 27
这两道题均分类为简单题,扎心了, 自己提出的做法都很麻烦,A不过, 26题要求将一个有序数组中的重复节点原地删除, 27要求将按照给定val 删除数组中的相应元素 看答案后想明白,其实明白这个类型后,实现起来确实是简单题 采用双标记法: 理解为,j 遍历的是原数组,对每个值检验 i 只用在符合条件的元素出现时,才进行移动,更改 00111223...
2018-10-10 16:44:00 91
转载 LeetCode 刷题日记 25
第二十五题 将一个链表 进行每k个元素的逆置,对于剩余不足k的元素,则不进行逆置 明白是一道 加难度的尾插法链表题 对于剩余的不足k的元素不能逆置 之前的元素进行节点的调换,而不是值 首先 解决剩余元素个数不足k,无法逆置的问题: 遍历链表,获取总长度count,进行while判断,每次执行k个元素的逆置,之后count -= k,当count < k时,跳出...
2018-10-09 21:02:00 99
转载 2018.10.02 LeetCode 刷题日记 第17题
手机小键盘 2-9数字键上有分别对应的字母,输入一串数字,如234,则 2-abc,3-def,4-ghi,按顺序每个数字选择一个字母,输出全部的字母组合 从第一个数的第一个字母开始,向下找数,每种情况结束后进行回溯 读入 23 2-abc 选a 读3 -def 选d 、选e 、选f 此时再进行回溯方法,索引已经超过范围,第一次结束 2中选b 依次进行回...
2018-10-02 13:12:00 115
转载 Java学习 理解 接口 、子接口、具体实现类
(图片来自于Java菜鸟教程) 接口中 Collection接口,Collection不能用于类直接的继承。 Collection子接口:List(顺序、动态存储)、Set(集合、无序、无重复)、SortedSet(实现有序set)、Map(映射,key-value对)。 Set 检索的效率低,但是删除、插入效率高,不会引起元素位置的变化。 List大小可以动态增长,...
2018-09-30 17:27:00 490
转载 2018.9.30 LeetCode 刷题日记 第19题
题型比较经典,在一次遍历情况下完成单链表倒数第n个结点的删除: 设立三个结点: cur记录当前结点位置 ans记录要删除的结点的前一个 h记录链表的表头位置 假设要删除的是倒数第n个点(保证删除位置有效),则cur走到最后一个结点的时候,ans结点应该走到倒数n+1个结点,以便直接删除倒数第3个结点。 则ans为cur走了n个结点时才出发,保证cur对链表...
2018-09-30 14:53:00 74
转载 2018.9.30 LeetCode 刷题日记 第16题
第 16题 最接近目标数的三数之和 对一个数组来说,找出其中的三个数,使得三数之和与target最接近,最先想到的是暴力法求解,对i = 0; j = i+ 1; k = j+1;进行三重遍历,记录对target距离的最小值,但是三重循环,时间复杂度0(n3)。 改进 :对寻求目标数来说,三数之和要么比target大 ,要么比target小,确定寻找方向很重要,可...
2018-09-30 11:49:00 83
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人