双指针
文章平均质量分 78
iyangdi
这个作者很懒,什么都没留下…
展开
-
Google算法题:三数求和
http://www.lintcode.com/zh-cn/problem/3sum/给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三元组。 注意事项在三元组(a, b, c),要求a 结果不能包含重复的三元组。您在真实的面试中是否遇到过这个题? Yes原创 2017-08-20 11:01:47 · 1121 阅读 · 0 评论 -
Google算法题:最多有k个不同字符的最长子字符串
题目分析代码从O(n^3)到O(n^2)到O(n)逐步优化package com.graph;import java.util.*;import org.omg.CORBA.INTERNAL;public class Solution { //TC=O(n^3) public int solve(String str, int k){ //special原创 2017-08-06 12:51:35 · 442 阅读 · 0 评论 -
LintCode:M-和大于S的最小子数组
LintCode链接给定一个由 n 个整数组成的数组和一个正整数 s ,请找出该数组中满足其和 ≥ s 的最小长度子数组。如果无解,则返回 -1。您在真实的面试中是否遇到过这个题? Yes样例给定数组 [2,3,1,2,4,3] 和 s = 7, 子数组 [4,3] 是该条件下的最小长度子数组。原创 2017-08-30 09:15:49 · 481 阅读 · 0 评论 -
LintCode:M-最长无重复字符的子串
LintCode链接给定一个字符串,请找出其中无重复字符的最长子字符串。您在真实的面试中是否遇到过这个题? Yes样例例如,在"abcabcbb"中,其无重复字符的最长子字符串是"abc",其长度为 3。对于,"bbbbb",其无重复字符的最长子字符串为"b",长度为1。public class Solutio原创 2017-08-30 19:32:35 · 273 阅读 · 0 评论 -
LintCode:M-两个链表的交叉
LintCode链接请写一个程序,找到两个单链表最开始的交叉节点。 注意事项如果两个链表没有交叉,返回null。在返回结果后,两个链表仍须保持原有的结构。可假定整个链表结构中没有循环。您在真实的面试中是否遇到过这个题? Yes样例下列两个链表:A: a1 → a2原创 2017-08-31 09:36:54 · 258 阅读 · 0 评论 -
LintCode:M-带环链表
LintCode链表给定一个链表,判断它是否有环。您在真实的面试中是否遇到过这个题? Yes样例给出 -21->10->4->5, tail connects to node index 1,返回 true/** * Definition for ListNode. * public class L原创 2017-08-31 09:37:05 · 221 阅读 · 0 评论 -
LintCode:M-装最多水的容器
LintCode链接给定 n 个非负整数 a1, a2, ..., an, 每个数代表了坐标中的一个点 (i, ai)。画 n 条垂直线,使得 i 垂直线的两个端点分别为(i, ai)和(i, 0)。找到两条线,使得其与 x 轴共同构成一个容器,以容纳最多水。 注意事项容器不可倾斜。您在真实的面试中是否遇到过这个题?原创 2017-08-31 09:42:21 · 253 阅读 · 0 评论 -
LintCode:M-接雨水
LintCode链接Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.您在真实的面试中是否遇到过这个题?原创 2017-08-31 10:27:04 · 582 阅读 · 0 评论 -
LeetCode:M-3 Sum
LeetCode链接1、数组排序2、左边固定一个指针,遍历3、右边两个移动指针4、三个指针指向的值求和判断5、a配对的b/c可能有多个,所以需要将b/c的指针均移动到下一个和b/c不同的值处TC = O(n^2)class Solution { public List> threeSum(int[] nums) { List> r原创 2017-09-11 10:24:55 · 169 阅读 · 0 评论