lintcode
文章平均质量分 53
thyzy120605
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
lintcode 382.三角形个数
给定一个整数数组,在该数组中,寻找三个数,分别代表三角形三条边的长度,问可以找到多少组这样的三个数来组成三角形思路:如果暴力枚举,那么是O(n^3)的时间复杂度,每次枚举都没有利用前面的信息。考虑如下情况,假定这个数组排序后的长度序列是X1<=X2<=.....Xn,考虑如下两种情况:i<j<k1.如果有Xi,Xj,Xk能组成三角形,那么Xm(i+1<=m<=j...原创 2018-06-15 19:10:43 · 436 阅读 · 0 评论 -
lintcode 8.旋转字符串
给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转)eg:对于字符串"abcdefg"offset=0 =>"abcdefg"offset=1 =>"gabcdef"offset=2 =>"fgabcde"offset=3 =>"efgabcd"思路:仔细分析可以发现,就是把从0~n-offset-1这一段反转,将n-offset~n-1这一原创 2018-06-15 18:53:06 · 203 阅读 · 0 评论 -
lintcode 44.最小子数组
给定一个整数数组,找到一个具有最小和的子数组,保证子数组最少包含一个数字,返回其最小和。例如[1,-1,-2,1]返回-3思路:与最大子数组一样的思路。客观存在的最小子数组的任意前缀都不可能是正的,否则就会有一个更小的子数组。public int minSubArray(List<Integer> nums) { if(nums==null||nums.size()=...原创 2018-06-12 17:58:08 · 166 阅读 · 0 评论 -
lintcode 17.子集
给定一个含不同整数的集合,返回其所有的子集子集中的元素排列必须是非降序的,解集必须不包含重复的子集eg:S=[2,3,1];那么所有排列就是[[],[1],[2],[3],[1,3],[1,2],[2,3],[1,2,3]]class Solution { /** * @param S: A set of numbers. * @return: A list of lists...原创 2018-06-12 12:49:39 · 320 阅读 · 0 评论 -
lintcode 35.翻转链表
翻转一个单向链表思路:如果链表为空或者只有1个元素,那么直接返回头结点;否则,用pre代表新的头结点,用next辅助记录下下一个将要访问的结点,来实现链表的翻转class Solution { public ListNode reverse(ListNode head) { if(head==null||head.next==null) return hea...原创 2018-06-18 13:59:16 · 216 阅读 · 0 评论 -
lintcode 36.翻转链表II
翻转链表中的第m个到第n个结点,保证1<=m<=n<=链表长度。思路:需要记录第m个结点的前一个节点,以及第n个结点的前一个结点,翻转m~n这部分,注意链表结点的衔接。class Solution { /** * @param head: ListNode head is the head of the linked list * @param m:...原创 2018-06-18 15:32:14 · 210 阅读 · 0 评论 -
lintcode 113.删除排序链表中的重复数字II
给定一个排序链表,删除所有重复的元素只留下原链表中没有重复的元素思路:想法是用一个指针记录到一定不重复的位置pre,然后,判断是否重复,如果重复了就直到不重复的地方为止,将pre的next更改为此位置class Solution { /** * @param head: head is the head of the linked list * @return: hea...原创 2018-06-18 16:17:34 · 226 阅读 · 0 评论
分享