lintcode
知之可否
这个作者很懒,什么都没留下…
展开
-
Longest Consecutive Sequence
Given an unsorted array of integers, find the length of the longest consecutive elements sequence.Clarification Your algorithm should run in O(n) complexity.类似题目 最长递增子序列(LIS)思路就是: 1.将num存到unordered_m原创 2016-04-14 17:35:17 · 446 阅读 · 0 评论 -
lintcode: Insert Node in a Binary Search Tree
Given a binary search tree and a new tree node, insert the node into the tree. You should keep the tree still be a valid binary search tree. Can you do it without recursion?/** * Definition原创 2016-03-15 14:38:11 · 972 阅读 · 0 评论 -
lintcode: Subsets II
Given a list of numbers that may has duplicate numbers, return all possible subsets1. 先排序; 再按求Subsets一样的做法,只是添加前检查是否已经存在。 耗时171msclass Solution {public: /** * @param S: A set of numbers.原创 2016-04-07 19:40:48 · 437 阅读 · 0 评论 -
lintcode:Convert Sorted List to Balanced BST
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST. http://www.lintcode.com/en/problem/convert-sorted-list-to-balanced-bst/#用快慢指针找出中点,作为根,中点左右原创 2016-03-14 22:13:01 · 1060 阅读 · 0 评论 -
lintcode:Linked List Cycle
Given a linked list, determine if it has a cycle in it. Given -21->10->4->5, tail connects to node index 1, return true Follow up: Can you solve it without using extra space?1.最基本的方法:复杂度O(n^2)原创 2016-03-14 11:51:19 · 298 阅读 · 0 评论 -
lintcode:Delete Digits
Given string A representative a positive integer which has N digits, remove any k digits of the number, the remaining digits are arranged according to the original order to become a new positive原创 2016-02-29 11:04:27 · 926 阅读 · 0 评论 -
lintcode: Permutations II
Given a list of numbers with duplicate number in it. Find all unique permutations.可以见我的博文全排列实现class Solution {public: /** * @param nums: A list of integers. * @return: A list of unique p原创 2016-04-06 16:00:19 · 351 阅读 · 0 评论 -
lintcode:Permutations
Given a list of numbers, return all possible permutations.Challenge Do it without recursion.1.递归class Solution {public: /** * @param nums: A list of integers. * @return: A list of permu原创 2016-04-05 17:40:40 · 477 阅读 · 0 评论 -
lintcode:Subsets
Given a set of distinct integers, return all possible subsets.Challenge Can you do it in both recursively and iteratively?1.class Solution {public: /** * @param S: A set of numbers. * @原创 2016-04-05 16:57:03 · 411 阅读 · 0 评论 -
lintcode: Search Range in Binary Search Tree
Given two values k1 and k2 (where k1 < k2) and a root pointer to a Binary Search Tree. Find all the keys of tree in range k1 to k2. i.e. print all x such that k1<=x<=k2 and x is a key of given BST. Ret原创 2016-03-22 21:38:50 · 427 阅读 · 0 评论 -
lintcode:Binary Tree Level Order Traversal
Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).Challenge 1: Using only 1 queue to implement it.Challenge 2: Use DFS algorithm to do原创 2016-03-22 21:10:42 · 419 阅读 · 0 评论 -
lintcode:Reorder List
Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do this in-place without altering the nodes’ values. For example, Given 1->2->3->4->null, reo原创 2016-03-11 17:01:57 · 700 阅读 · 0 评论 -
lintcode: Construct Binary Tree from Preorder and Inorder Traversal
Given preorder and inorder traversal of a tree, construct the binary tree.我以前的博文已有介绍构造二叉树/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; *原创 2016-03-22 20:28:17 · 318 阅读 · 0 评论 -
lintcode: Balanced Binary Tree
Given a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by原创 2016-03-20 23:04:14 · 405 阅读 · 0 评论 -
lintcode: Reverse Linked List
Reverse a linked list. For linked list 1->2->3, the reversed linked list is 3->2->1 Reverse it in-place and in one-pass最先应该想到的是用栈先依次存储起来,然后弹栈。然而空间复杂度不满足要求。其实,先保存第二个指针的下一个指针,再翻转两个指针之间的指向就可以达到原创 2016-03-10 10:10:30 · 476 阅读 · 0 评论 -
lintcode:Largest Number
Given a list of non negative integers, arrange them such that they form the largest number. Example Given [1, 20, 23, 4, 8], the largest formed number is 8423201. Note The result may be原创 2016-02-24 11:57:07 · 900 阅读 · 0 评论 -
lintcode:Word Ladder II
Given two words (start and end), and a dictionary, find all shortest transformation sequence(s) from start to end, such that:Only one letter can be changed at a time Each intermediate word must exist原创 2016-04-08 22:37:18 · 389 阅读 · 0 评论 -
lintcode: Unique Paths II
Follow up for “Unique Paths”:Now consider if some obstacles are added to the grids. How many unique paths would there be?An obstacle and empty space is marked as 1 and 0 respectively in the grid.跟 lint原创 2016-04-09 15:13:16 · 361 阅读 · 0 评论 -
lintcode:Triangle
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below.NoticeBonus point if you are able to do this using only O(n) extra space, whe原创 2016-04-09 20:30:42 · 481 阅读 · 0 评论 -
lintcode:Topological Sorting
Given an directed graph, a topological order of the graph nodes is defined as follow:For each directed edge A -> B in graph, A must before B in the order list. The first node in the order can be any n原创 2016-03-30 17:27:51 · 503 阅读 · 0 评论 -
lintcode:Backpack
Given n items with size Ai, an integer m denotes the size of a backpack. How full you can fill this backpack?Example If we have 4 items with size [2, 3, 5, 7], the backpack size is 11, we can select [原创 2016-04-12 22:47:32 · 840 阅读 · 0 评论 -
lintcode: Largest Rectangle in Histogram
Given n non-negative integers representing the histogram’s bar height where the width of each bar is 1, find the area of largest rectangle in the histogram.方法一O(n^2) 对于每个bar,找出bar是最矮的范围,求出一个面积;遍历所有bar原创 2016-04-18 22:14:45 · 452 阅读 · 0 评论 -
lintcode: Data Stream Median
Numbers keep coming, return the median of numbers at every time a new number added.维持一个大顶堆,一个小顶堆;大顶堆存有序的前一半数据,小顶堆存有序的后一半数据;大顶堆的堆顶就是每次的中位数。注意要 维持maxHeap.size()==minHeap.size()+1或者maxHeap.size()==minHeap原创 2016-04-18 17:18:28 · 462 阅读 · 0 评论 -
lintcode: Ugly Number II
Ugly number is a number that only have factors 2, 3 and 5.Design an algorithm to find the nth ugly number. The first 10 ugly numbers are 1, 2, 3, 4, 5, 6, 8, 9, 10, 12…class Solution {public: /*原创 2016-04-18 16:20:24 · 478 阅读 · 0 评论 -
lintcode:Merge k Sorted Lists
Merge k sorted linked lists and return it as one sorted list.Analyze and describe its complexity.方法一:跟合并两个有序的链表一样,每次找出k个有序链表中最小的,加入到新的链表,直到k个链表都为null。 时间复杂度:O(Nk),N指的是k个链中的总节点数/** * Definition of Lis原创 2016-04-16 15:19:04 · 435 阅读 · 0 评论 -
lintcode: Min Stack
Implement a stack with min() function, which will return the smallest number in the stack.It should support push, pop and min operation all in O(1) cost.1.用map记录所有值和出现的次数,根据map有序的特征取出最小值class MinStack原创 2016-04-14 22:17:02 · 585 阅读 · 0 评论 -
Implement Queue by Two Stacks
As the title described, you should only use two stacks to implement a queue’s actions.The queue should support push(element), pop() and top() where pop is pop the first(a.k.a front) element in the queu原创 2016-04-14 21:07:41 · 981 阅读 · 0 评论 -
lintcode: Edit Distance
Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.)You have the following 3 operations permitted on a word:Inser原创 2016-04-11 15:56:34 · 680 阅读 · 0 评论 -
lintcode: Maximum Product Subarray
Find the contiguous subarray within an array (containing at least one number) which has the largest product.跟lintcode: Maximum Subarray 类似。但乘法和加法不同,乘法不是线性递增的,可能有一个数是负数很小,乘以一个整数后就变得很大了。做法是在维持一个局部最大数组的同时原创 2016-04-10 16:16:49 · 398 阅读 · 0 评论 -
lintcode: Maximum Subarray
Given an array of integers, find a contiguous subarray which has the largest sum. Challenge Can you do it in time complexity O(n)?sumSub[i]表示以第i个数结尾的子数组的最大和,则 sumSub初始化为nums;sumSub[i]= sumSub[i-1]+n原创 2016-04-09 21:31:59 · 517 阅读 · 0 评论 -
lintcode:Binary Tree Serialization
Design an algorithm and write code to serialize and deserialize a binary tree. Writing the tree to a file is called ‘serialization’ and reading back from the file to reconstruct the exact same binary t原创 2016-03-28 23:15:21 · 501 阅读 · 0 评论 -
Remove Node in Binary Search Tree
Given a root of Binary Search Tree with unique value for each node. Remove the node with given value. If there is no such a node with given value in the binary search tree, do nothing. You should keep原创 2016-03-28 21:41:45 · 745 阅读 · 0 评论 -
lintcode:Word Break
Given a string s and a dictionary of words dict, determine if s can be break into a space-separated sequence of one or more dictionary words.设res[i]表示s的前i个数字母能否分拆后在dict中找到。 则 如果,则res[i]=true;class So原创 2016-04-13 17:33:15 · 769 阅读 · 0 评论 -
lintcode: Interleaving String
Given three strings: s1, s2, s3, determine whether s3 is formed by the interleaving of s1 and s2.跟 lintcode: Distinct Subsequences 类似。 用res[i][j] 表示s1的前i个字母和s2的前j个字母是否可以跟s3的前i+j个字母匹配。 还用走二维地图的方式解释原创 2016-04-13 16:34:03 · 598 阅读 · 1 评论 -
lintcode: Distinct Subsequences
Given a string S and a string T, count the number of distinct subsequences of T in S.A subsequence of a string is a new string which is formed from the original string by deleting some (can be none) of原创 2016-04-11 17:41:43 · 481 阅读 · 0 评论 -
lintcode: Majority Number
Given an array of integers, the majority number is the number that occurs more than half of the size of the array. Find it. Example Given [1, 1, 1, 1, 2, 2, 2], return 1 Challenge原创 2016-02-24 10:31:20 · 629 阅读 · 0 评论 -
litcode: Rotate List
Given a list, rotate the list to the right by k places, where k is non-negative. Given 1->2->3->4->5 and k = 2, return 4->5->1->2->3.1、首先要理解这个旋转的意义。 就是倒着数k个node,从那开始到结尾和之前那部分对调,那个例子就是,4->5拿前面原创 2016-03-09 11:05:36 · 562 阅读 · 0 评论 -
lintcode:Validate Binary Search Tree
Given a binary tree, determine if it is a valid binary search tree (BST).Assume a BST is defined as follows:The left subtree of a node contains only nodes with keys less than the node’s key. The right原创 2016-03-20 20:34:49 · 455 阅读 · 0 评论 -
lintcode:Search for a Range
Given a sorted array of n integers, find the starting and ending position of a given target value. If the target is not found in the array, return [-1, -1]. Example Given [5, 7, 7, 8, 8原创 2016-01-26 13:58:07 · 471 阅读 · 0 评论 -
Search in Rotated Sorted Array
Suppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).You are given a target value to search. If found in the array return its index原创 2016-01-07 22:57:42 · 409 阅读 · 0 评论