LintCode刷题集
LintCode刷题集,慢慢更新。。。
thinkerleo7798
这个作者很懒,什么都没留下…
展开
-
LintCode 二分查找
给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。 题目地址:http://www.lintcode.com/zh-cn/problem/first-position-of-target/坑点:要查找出某元素第一次出现的位置,注意处理好边界问题class Solutio原创 2017-10-21 21:54:50 · 2619 阅读 · 0 评论 -
LintCode 最大子数组(dp)
**> 给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。 样例 给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最大和为6**地址:http://www.lintcode.com/zh-cn/problem/maximum-subarray/递推方程:记A[] A[] 为待求数组,MaxSubArray[i] MaxSubArra原创 2017-11-05 17:09:41 · 633 阅读 · 2 评论 -
LintCode 二叉树的最大节点
样例 给出如下一棵二叉树: 1 / \ -5 2 / \ / \ 0 3 -4 -5 返回值为 3 的节点。URL:http://www.lintcode.com/zh-cn/problem/binary-tree-maximum-node/递归,从底下向上求最大数字class Solution {pu原创 2017-11-12 16:43:14 · 1207 阅读 · 0 评论 -
LintCode 二叉树的路径和
样例给定一个二叉树,和 目标值 = 5: 1 / \ 2 4 / \ 2 3返回:[ [1, 2, 2], [1, 4]]解法:DFS,注意路径和的概念,要到叶子节点AC代码:class Solution {public: /* * @param root: the root of bi原创 2017-11-12 19:17:11 · 380 阅读 · 0 评论 -
Lintcode 二叉树的层次遍历
给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)您在真实的面试中是否遇到过这个题? Yes 样例 给一棵二叉树 {3,9,20,#,#,15,7} :3 / \ 9 20 / \ 15 7 返回他的分层遍历结果:[ [3], [9,20], [15,7] ]code:class Solution{public: vector< v原创 2017-08-18 15:06:21 · 307 阅读 · 0 评论 -
Lintcode 二叉树的层次遍历 II
给出一棵二叉树,返回其节点值从底向上的层次序遍历(按从叶节点所在层到根节点所在的层遍历,然后逐层从左往右遍历)您在真实的面试中是否遇到过这个题? Yes 样例 给出一棵二叉树 {3,9,20,#,#,15,7},3/ \ 9 20 / \ 15 7 按照从下往上的层次遍历为:[ [15,7], [9,20], [3] ]只需要稍微修改 二叉原创 2017-08-18 15:25:17 · 1058 阅读 · 0 评论 -
Lintcode 二叉树的锯齿形层次遍历
给出一棵二叉树,返回其节点值从底向上的层次序遍历(按从叶节点所在层到根节点所在的层遍历,然后逐层从左往右遍历)您在真实的面试中是否遇到过这个题? Yes 样例 给出一棵二叉树 {3,9,20,#,#,15,7},3 / \ 9 20 / \ 15 7 按照从下往上的层次遍历为:[ [15,7], [9,20], [3] ]思路:在题原创 2017-08-18 15:53:41 · 1035 阅读 · 0 评论 -
Lintcode 二叉树的中序遍历(递归+非递归)
给出一棵二叉树,返回其中序遍历您在真实的面试中是否遇到过这个题? Yes 样例 给出二叉树 {1,#,2,3},1 \ 2 / 3 返回 [1,3,2].递归+非递归:/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode原创 2017-08-20 15:15:21 · 313 阅读 · 0 评论 -
Lintcode 用栈实现队列
巨水题,思路:一个栈缓存,一个栈当队列class MyQueue {public: stack<int> stack1; stack<int> stack2; MyQueue() { // do intialization if necessary } void push(int element) { // write your原创 2017-08-21 13:41:28 · 236 阅读 · 0 评论 -
Lintcode 有效的括号序列
给定一个字符串所表示的括号序列,包含以下字符: ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, 判定是否是有效的括号序列。您在真实的面试中是否遇到过这个题? Yes 样例 括号必须依照 “()” 顺序表示, “()[]{}” 是有效的括号,但 “([)]”则是无效的括号。题目很简单,用栈就OK了。 但是为了不让代码很丑而且让这个程序有一定扩展性,所以代码写多了些。class原创 2017-08-21 16:04:51 · 1131 阅读 · 0 评论 -
Lintcode 逆波兰表达式求值
求逆波兰表达式的值。在逆波兰表达法中,其有效的运算符号包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰计数表达。您在真实的面试中是否遇到过这个题? Yes 样例 [“2”, “1”, “+”, “3”, ““] -> ((2 + 1) 3) -> 9 [“4”, “13”, “5”, “/”, “+”] -> (4 + (13 / 5)) -> 6简单的退栈和入栈的原创 2017-08-23 11:46:00 · 1529 阅读 · 0 评论 -
LintCode 带环链表(快慢指针法)
题目地址: http://www.lintcode.com/zh-cn/problem/linked-list-cycle//** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * t原创 2017-08-31 11:53:31 · 1154 阅读 · 0 评论 -
Lintcode 拓扑排序
题目网址: http://www.lintcode.com/zh-cn/problem/topological-sorting/#/** * Definition for Directed graph. * struct DirectedGraphNode { * int label; * vector<DirectedGraphNode *> neighbors; *原创 2017-09-08 00:01:21 · 2089 阅读 · 0 评论 -
LintCode Longest Common Subsequence(最长公共子序列长度,动态规划入门题)
题目Link:http://www.lintcode.com/en/problem/longest-common-subsequence/递推公式: #include <iostream>#include <cstring>using namespace std;class Solution {public: /** * @param A, B: Two strings.原创 2017-09-10 15:25:53 · 1732 阅读 · 0 评论 -
LintCode permutations(全排列)
题目地址:http://www.lintcode.com/zh-cn/problem/permutations/ 题解:不考虑重复的全排列,实质是对一棵树的深度优先搜索。class Solution {public: /** * @param nums: A list of integers. * @return: A list of permutations.原创 2017-09-12 15:19:07 · 2579 阅读 · 0 评论 -
LintCode 最长回文子串(Manacher算法)
http://www.lintcode.com/zh-cn/problem/longest-palindromic-substring/ 问题描述: 给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串。 样例 给出字符串 “abcdzdcab”,它的最长回文子串为 “cdzdc”。最开始想到的解决办法是暴力法,但是会导致复原创 2017-10-06 22:04:16 · 816 阅读 · 0 评论 -
LintCode 字符串查找(暴力法+KMP)
URL:http://www.lintcode.com/zh-cn/problem/strstr/ 对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。暴力法: 从文本串的第一个元素开始比对,如果和模式串相符,那么就是返回匹配位置,否则就是返回-1,AC代码:cl原创 2017-10-07 16:31:33 · 2614 阅读 · 0 评论