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