给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 设置快慢指针,都从链表头出发,快指针每次走两步,慢指针一次走一步,假如有环,一定相遇于环中某点。接着让两个指针分别从相遇点和链表头出发,两者都改为每次走一步,最终相遇于环入口。 证明: 快指针路程=a+(b+c)k+b ,k ...
分类:
其他好文 时间:
2020-05-19 22:18:18
阅读次数:
53
输入一个链表,输出该链表中倒数第k个结点。 设链表的长度为 N。设置两个指针 P1 和 P2,先让 P1 移动 K -1个节点,则还有 N - K 个节点可以移动。此时让 P1 和 P2 同时移动,可以知道当 P1 移动到链表结尾时,P2 移动到第 N - K-1 个节点处,该位置就是倒数第 K 个 ...
分类:
其他好文 时间:
2020-05-19 01:01:47
阅读次数:
59
HDU Multi University Training Contest | 题目来源 | 题目 | 知识点 | 时间复杂度 | 完成情况 | | : : | : : | : : | : : | : : | | 2019 Contest8 A | Acesrc and Cube Hypernet ...
分类:
其他好文 时间:
2020-05-17 00:46:01
阅读次数:
63
2、数组_排序 刷题总结:一般数组逃不过这些方法方法 双指针:一个从头遍历,一个从尾遍历 三指针:一个从头遍历,一个从尾遍历,一个遍历数组本身,找满足条件的进行交换 从后向前遍历,从后向前填充! 75、颜色分类 方法:三指针 为什么用多指针? 1. 题目说遍历一次数组解决问题, 一般都是用多指针! ...
分类:
编程语言 时间:
2020-05-15 22:56:15
阅读次数:
84
242.有效地字母异位词 由于本题的字符串只包含 26 个小写字符,因此可以使用长度为 26 的整型数组对字符串出现的字符进行统计,并对比字母出现的次数是否一致。不再使用 HashMap。 toCharArray()的用法 java中的foreach的用法 class Solution { publ ...
分类:
其他好文 时间:
2020-05-10 22:55:28
阅读次数:
53
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 递归 public class Solution { public ListNode deleteDuplication(Li ...
分类:
其他好文 时间:
2020-05-10 16:51:31
阅读次数:
49
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 使用递归时间复杂度降为o(logn)n为指数大小 对cyc大佬的补充,考虑了base为零的情况,否则当base==0,exp为复数是会出错 public class Solution { ...
分类:
其他好文 时间:
2020-05-09 19:24:25
阅读次数:
70
用递归实现回溯法 注意:对于越界的检查是row>=matrix.length和col>=matrix[0].length要加上等号(这个错误找了半个小时呜呜呜) public class Solution { private int[][] act = {{0,1},{0,-1},{-1,0},{1 ...
分类:
其他好文 时间:
2020-05-04 17:23:52
阅读次数:
53
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 考察二分法: import ...
分类:
编程语言 时间:
2020-05-04 15:04:30
阅读次数:
63
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 方法一:递归 import java.util.ArrayList; public class Solution { ArrayList<Integer> ret = new ArrayList<Integer>(); public A ...
分类:
其他好文 时间:
2020-05-03 18:55:41
阅读次数:
61