面试题
文章平均质量分 88
tanglu2004
这个作者很懒,什么都没留下…
展开
-
LeetCode ZigZag Conversion 解题报告
LeetCode ZigZag Conversion 解题报告对输入字符串,做蛇形变化,然后按行输出。原创 2014-12-14 21:20:03 · 1685 阅读 · 0 评论 -
LeetCode Combination Sum II
LeetCode Combination Sum II 题意分析:从给定数组中找到一组数字,要求这组数字之和等于target。另外,数字不允许重复。解题思路:显然先排序,然后dfs。原创 2014-04-08 19:05:09 · 5920 阅读 · 0 评论 -
LeetCode Insert Interval
合并所有覆盖的区间,一道对逻辑思维要求比较高的题。Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary).You may assume that the intervals were initially sorted according t原创 2014-03-20 13:40:08 · 10953 阅读 · 0 评论 -
LeetCode Palindrome Partitioning II
LeetCode Palindrome Partitioning II解题报告对输入的字符串进行划分,要求划分后的所有的子字符串都是回文串。求最小划分的个数。动态规划方法求解。原创 2014-03-25 15:48:56 · 10101 阅读 · 1 评论 -
LeetCode Palindrome Partitioning
LeetCode Palindrome Partitioning 解题报告将输入的字符串划分为一组回文字符串。动态规划加深度搜索。原创 2014-03-25 10:45:47 · 9396 阅读 · 3 评论 -
Leetcode Distinct Subsequences 解题报告
Leetcode Distinct Subsequences 解题报告只可以用删除字符的方法从第一个字符串变换到第二个字符串,求出一共有多少种变换方法。http://oj.leetcode.com/problems/distinct-subsequences/原创 2014-02-23 21:51:17 · 11862 阅读 · 1 评论 -
Leetcode Word Ladder II 解题报告
http://oj.leetcode.com/problems/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 c原创 2014-02-16 22:40:21 · 11697 阅读 · 3 评论 -
Leetcode Search for a Range 解题报告
二分搜索的一个变种,找到target存在的区间。原创 2014-02-19 22:30:46 · 1251 阅读 · 0 评论 -
LeetCode Recover Binary Search Tree
LeetCode Recover Binary Search Tree 解题报告 二叉排序树中有两个节点被交换了,要求把树恢复成二叉排序树。最简单的办法,中序遍历二叉树生成序列,然后对序列中排序错误的进行调整。最后再进行一次赋值操作。原创 2014-03-21 09:37:48 · 14405 阅读 · 3 评论 -
Leetcode Container With Most Water 解题报告
题目地址:http://oj.leetcode.com/problems/container-with-most-water/基本描述:x轴上在1,2,...,n点上有许多垂直的线段,长度依次是a1, a2, ..., an。找出两条线段,使他们和x抽围成的面积最大。这道题也是美团笔试的最后一道题。原创 2014-01-23 10:22:20 · 3908 阅读 · 0 评论 -
LeetCode Gray Code
LeetCode 生成n位格雷码原创 2014-03-19 16:03:39 · 18324 阅读 · 3 评论 -
LeetCode Max Points on a Line 解题报告
Max Points on a Line 解题报告http://oj.leetcode.com/problems/max-points-on-a-line/给你一组点,求共线最多点的个数。思路,暴力枚举。因为如果n个点共线的话,那么所有共线点和起点的斜率都一样。以任意点i为起点,初始化一个斜率hash表。求出i+1点和i之间的斜率,如果斜率已经存在hash表中斜率计数++,否则原创 2014-01-30 14:42:31 · 8144 阅读 · 12 评论 -
LeetCode Construct Binary Tree from Preorder and Inorder Traversal
Construct Binary Tree from Preorder and Inorder Traversal 结题报告从前序遍历和中序遍历的结果重建一颗二叉树。解题思路,随便写一个二叉树,然后写出前序和中序遍历的结果会发现特点。二叉树的首节点必然是前序遍历的第一个节点,以这个节点在中序遍历的结果中作为划分,这个节点左侧的是左子树的节点,右侧是右子树节点。例如,一个二叉原创 2014-09-14 19:27:59 · 2041 阅读 · 1 评论 -
LeetCode Permutations
全排列问题,今天看到微博上有人说清华的研究生复试上机试题有一道全排列问题,貌似学生们回答的不好。想起以前在leetcode上面也刷过全排列问题,就又重新AC了一次。Given a collection of numbers, return all possible permutations.For example,[1,2,3] have the following permuta原创 2014-03-18 23:42:25 · 11642 阅读 · 4 评论 -
LeetCode Intersection of Two Linked Lists 解题报告
LeetCode Intersection of Two Linked Lists 解题报告,求两个链表的第一个公共节点。原创 2014-12-29 00:25:56 · 2484 阅读 · 0 评论 -
LeetCode Plus One Java版解题报告
LeetCode Plus One Java版解题报告 题意:一个整数按位存储于一个int数组中,排列顺序为:最高位在array[0] ,最低位在[n-1],例如:98,存储为:array[0]=9; array[1]=8;解题思路,从数组的最后一位开始加1,需要考虑进位,如果到[0]位之后仍然有进位存在,需要新开一个长度为(n.length + 1)的数组,拷贝原来的数组。原创 2015-01-10 23:03:51 · 9308 阅读 · 1 评论 -
LeetCode Count and Say 解题报告
LeetCode Count and Say 解题报告如何数(shu 三声) 数(shu 四声):1,11,21,1211,111221,312211,13112221,1113213211原创 2014-12-05 15:09:28 · 10602 阅读 · 0 评论 -
LeetCode Roman to Integer 罗马字符转数字 解题报告
LeetCode Roman to Integer 解题报告: 把一个字符串形式的罗马字符串转为数字。原创 2014-12-21 20:46:29 · 2692 阅读 · 0 评论 -
LeetCode Maximum Product Subarray 解题报告
LeetCode 新题又更新了,最大子数组乘积题目分析:求一个数组,连续子数组的最大乘积。原创 2014-10-06 12:09:35 · 14864 阅读 · 1 评论 -
LeetCode Add Binary 结题报告
Leetcode 二进制加法,解题报告原创 2014-11-29 09:46:51 · 1864 阅读 · 0 评论 -
LeetCode Merge k Sorted Lists 解题报告
合并K个已排序的数组,并分析整个算法的复杂度。最朴素的方法TLE,借鉴归并排序的算法顺利AC,算法时间复杂度:NlogK原创 2014-10-11 15:23:24 · 9128 阅读 · 3 评论 -
LeetCode Binary Tree Maximum Path Sum 解题报告
返回树中任意两点路径的最大值,只要两点间有路径可以到达就算。原创 2014-02-06 22:43:45 · 12022 阅读 · 2 评论 -
LeetCode Convert Sorted List to Binary Search Tree 解题报告
从给定的有序链表生成一颗平衡二叉树。解题思路:最容易想到的就是利用数组生成二叉树的方法,找到中间节点作为二叉树的root节点,然后分别对左右链表递归调用分别生成左子树和右子树。时间复杂度O(N*lgN)原创 2014-10-01 22:30:08 · 12761 阅读 · 0 评论 -
LeetCode Longest Valid Parentheses 解题报告
分析,求出一串由:‘(’和‘)’组成的字符串中最长有效括号的长度。例如:(()(),结果是4。((()))结果是6。())()()结果是4。原创 2014-09-22 00:24:27 · 10378 阅读 · 0 评论 -
LeetCode Subsets 和 LeetCode Subsets II
LeetCode Subsets 和 LeetCode Subsets II 给出一个数组生成该数组所有元素的组合。基本思路先对数组排序,然后循环+dfs,生成指定元素数目为:1,2,...array.size()个元素的组合。原创 2014-04-09 22:02:48 · 11910 阅读 · 0 评论 -
Leetcode Restore IP Addresses
Given a string containing only digits, restore it by returning all possible valid IP address combinations.For example:Given "25525511135",return ["255.255.11.135", "255.255.111.35"]. (Order does原创 2014-03-16 20:25:55 · 5475 阅读 · 1 评论 -
C++面试题(三)——STL相关各种问题
C++面试题——STL相关各种问题唐璐http://blog.csdn.net/worldwindjp/STL相关的各种问题1,用过那些容器。2,vector,list,deque的实现。3,hashmap和map有什么区别。4,map是怎么实现的?原创 2014-02-03 15:53:57 · 16069 阅读 · 0 评论 -
LeetCode Word Break 解题报告
Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words.For example, givens = "leetcode",dict = ["leet",原创 2014-02-08 17:39:22 · 3790 阅读 · 1 评论 -
LeetCode Sort List 解题报告
Sort a linked list in O(n log n) time using constant space complexity.http://oj.leetcode.com/problems/sort-list/解题报告:就是对一个链表进行归并排序。找到链表的middle节点,然后递归对前半部分和后半部分分别进行归并排序,最后再进行Merge。/** * De原创 2014-02-08 15:31:49 · 9766 阅读 · 6 评论 -
C++面试题(二)——自己实现一个String类
实现一个自己的String类是一道考验C++基础知识的好题。至少要能实现以下:构造函数,析构函数,拷贝构造函数(copy constructor),重载赋值操作符(copy assignment operator)。首先是至少能够准确的写出这几个函数的声明。String()老版本的拷贝构造函数和重载赋值操作符时:有几点需要注意的是:把自己赋值给自己,异常安全性。通过使用swap原创 2013-10-23 12:13:57 · 15983 阅读 · 4 评论 -
C++面试题(四)——智能指针的原理和实现
普通C++面试时候的一般都是这个套路: 1,C++和C相比最大的特点——面向对象:封装,继承,多态。 2,你知道虚函数吗?——实现多态所必须,父类类型的指针指向子类的实例,执行的时候会执行之类中定义的函数。 3,析构函数可以是虚函数吗?——如果有子类的话,析构函数必须是虚函数。否则析构子类类型的指针时,析构函数有可能不会被调用到。 4,多态的实现。—原创 2014-01-28 17:00:02 · 51375 阅读 · 13 评论 -
C++面试题(一)——基础概念篇
C++面试题——基础概念篇普通C++面试时候的一般都是这个套路: 1,C++和C相比最大的特点 1)面向对象:封装,继承,多态。 2)引入引用代替指针。 3)const /inline/template解决宏常量。 4)na原创 2014-02-03 13:06:10 · 8867 阅读 · 2 评论 -
Leetcode Climbing Stairs 解题报告
题目参见: http://oj.leetcode.com/problems/climbing-stairs/You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can原创 2014-02-02 21:07:54 · 1760 阅读 · 0 评论 -
Leetcode Pow(x, n) 解题报告
http://oj.leetcode.com/problems/powx-n/求出x的n次方。x是double类型,n是整数类型。分析:这道题有几个知识点:1,n分别为负数,0,正数的情况。n为负数的话,算出结果之后要被1除,同时还要考虑这时候x不能为0。n为0的时候返回值为1,但0的0次方是无意义的,应该抛出异常。2,TLE如果直接计算的话,数据一大就超时,考虑计算技巧。原创 2014-02-02 21:21:29 · 1295 阅读 · 0 评论 -
LeetCode Remove Element 解题报告
http://oj.leetcode.com/problems/remove-element/删除数组中等于某value的元素,元素有可能有多个,返回新数组的大小。基本思路:从前向后找到等于value的元素,从后向前找到第一个不等于value的元素,交换。AC代码:public int removeElement(int[] A, int elem) { int i原创 2014-01-31 12:46:08 · 1476 阅读 · 0 评论 -
面试热身——逆转一个单链表
面试最常见题之一(也许没有之一),原理简单,但如果不熟练的话,也容易把代码写复杂了。下面是一个简洁的实现。struct list { int value; struct list *next;};typedef struct list LIST;LIST* reverse_list(LIST *head){ LIST* pre = NULL; LIST* next; w原创 2014-01-29 10:58:42 · 3866 阅读 · 0 评论 -
TCP为什么需要三次握手
tcp为什么要第三次握手,time_wait是做什么的? tcp有几种状态,画出所有的状态转换图。 晚上看到的面试题,TCP三次握手的印象很深,但为什么需要3次握手,还是想不起来了。简单而言:如果不是三次握手的话,那么到底需要几次握手最佳呢?2次握手,或者4次以上的握手?先看2次握手的情况:客户端给服务器发送建立连接的请求,服务器同意连接请求发回应给客户端,连接就此原创 2013-12-25 15:50:37 · 5549 阅读 · 0 评论 -
Leetcode Jump Game 解题报告
Given an array of non-negative integers, you are initially positioned at the first index of the array.Each element in the array represents your maximum jump length at that position.Determine if yo原创 2014-02-08 18:08:28 · 3656 阅读 · 0 评论 -
Leetcode Jump Game II 解题报告
Given an array of non-negative integers, you are initially positioned at the first index of the array.Each element in the array represents your maximum jump length at that position.Your goal is to原创 2014-02-09 15:37:38 · 2181 阅读 · 0 评论 -
Leetcode Insertion Sort List 解题报告
http://oj.leetcode.com/problems/insertion-sort-list/Sort a linked list using insertion sort.基本分析:用插入排序对一个链表进行排序。一开始写的时候想套用数组的插入排序,结果发现无法对末节点加上NULL。对链表进行插入排序的正确方法是:新建一个头节点,遍历原来的链表,在新链表中找到适合的位原创 2014-02-11 09:23:37 · 6552 阅读 · 2 评论