![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔试/面试题
zhsenl
这个作者很懒,什么都没留下…
展开
-
Leetcode 线性表 Two Sum
题意:给定一组数和另一个数,在这组数中找两个数,使它们的和等于给定的数思路1: --> 错,因为题目要求返回下标。1.排序2.两个下标,一个指向头,一个指向尾3.如果下标指向的两个元素相加大于给定的数,尾下标减一 如果小于,头下标加一思路2: hash1.用hash存储每个数的下标2.数组,看hash[target-num[i]]是否存在复杂度:时间O(n), 空间O(n)原创 2014-05-14 21:16:53 · 702 阅读 · 0 评论 -
Leetcode 树 Symmetric Tree
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlieSymmetric Tree Total Accepted: 13991 Total Submissions: 44240Given a binary tree, check whether it is a mirror of itself原创 2014-05-12 16:11:16 · 797 阅读 · 0 评论 -
Leetcode 树 Same Tree
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlieSame Tree Total Accepted: 15922 Total Submissions: 38418Given two binary trees, write a function to check if they are equal o原创 2014-05-11 17:01:54 · 1039 阅读 · 0 评论 -
Leetcode 贪心 Best Time to Buy and Sell StockII
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlieBest Time to Buy and Sell Stock II Total Accepted: 13030 Total Submissions: 36467Say you have an array for which the ith原创 2014-05-12 20:35:30 · 684 阅读 · 0 评论 -
Leetcode 树 Populating Next Right Pointers in Each Node
题意:给定一棵perfect binary tree,将它每一个节点的next指针都指向该节点右边的节点思路:dfs在connect一棵树的时候,需要知道这棵树的根节点和它右边的节点1.将树的根节点和它右边的节点连接起来2.递归地将左子树connect起来,需要知道左子树节点和右子树节点3.递归地将右子树connect起来,需要知道右子树节点和根右边的节点的左子树节点递归函数为:void connect(TreeLinkNode *root, TreeLinkNode *sibling)表原创 2014-05-13 21:15:25 · 728 阅读 · 0 评论 -
Leetcode 树 Unique Binary Search TreesII
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlieUnique Binary Search Trees II Total Accepted: 7349 Total Submissions: 27648Given n, generate all structurally unique原创 2014-05-13 16:17:57 · 596 阅读 · 0 评论 -
Leetcode 贪心 Best Time to Buy and Sell Stock
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlieBest Time to Buy and Sell Stock Total Accepted: 13234 Total Submissions: 43145Say you have an array for which the ith ele原创 2014-05-12 17:57:21 · 821 阅读 · 0 评论 -
Leetcode 树 Binary Tree Preorder Traversal
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlieBinary Tree Preorder Traversal Total Accepted: 17948 Total Submissions: 51578Given a binary tree, return the preorder tra原创 2014-05-13 16:50:14 · 705 阅读 · 0 评论 -
Leetcode 树 Unique Binary Search Trees
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlieUnique Binary Search Trees Total Accepted: 13478 Total Submissions: 37858Given n, how many structurally unique BST's (bin原创 2014-05-12 22:32:53 · 848 阅读 · 0 评论 -
Leetcode 数 Reverse Integer
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlieReverse Integer Total Accepted: 17472 Total Submissions: 43938Reverse digits of an integer.Example1: x = 123, return 32原创 2014-05-12 16:48:05 · 678 阅读 · 0 评论 -
Leetcode 树 Balanced Binary Tree
题意:给定一棵二叉树,判断它是不是高平衡的。高平衡指的是每一个节点的左右子树的深度差不超过1思路:bfs递归1.如果根节点的左右子树深度之差大于1,返回false2.如果左子树或右子树不是平衡的,返回false3.返回true复杂度:时间O(n), 空间O(log n)原创 2014-05-15 11:26:44 · 542 阅读 · 0 评论 -
Leetcode 树 Convert Sorted Array to Binary Search Tree
题意:将一个已排序的数组转化为一棵二叉查找树思路:dfs + 二分设数组的下标范围为[begin, end],它的中间元素的下标为middle = (begin + end) / 2;middle 将数组分为[begin, middle - 1]和[middle + 1, end];middle对应一个节点,它的左右子节点分别为[begin, middle - 1]和[middle + 1, end]的中间元素对应的节点复杂度:时间O(log n),空间O(1)原创 2014-05-15 11:29:23 · 571 阅读 · 0 评论 -
Leetcode 数 Add Binary
题意:给定两个二进制字符串,返回它们的和思路:1.按最长的循环,短的前面补零2.因为变量少,不用考虑节省空间,定义为int最行了3.用二进制可能会快一点。不过实现会麻烦一些复杂度:时间O(m+n),空间O(m+n)原创 2014-05-15 10:10:43 · 632 阅读 · 0 评论 -
Leetcode 位运算 Single Number
题意:在一组数组中除一个元素外其它元素都出现两次,找出这个元素思路:位运算。异或。因为异或操作可以交换元素的顺序,所以元素异或的顺序没影响,最后出现再次的元素都会被异或掉,相当于0和只出现一次的那个元素异或,结果还是那个元素推广:这个方法也适合于出现其它元素都出现偶数次,而要找的元素出现奇数次的情况相关题目:Single Number IIclass Solution原创 2014-05-10 22:21:29 · 877 阅读 · 0 评论 -
Leetcode 位运算 Single NumberII
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlieSingle Number II Total Accepted: 14224 Total Submissions: 43648Given an array of integers, every element appears three ti原创 2014-05-10 22:28:20 · 809 阅读 · 0 评论 -
Leetcode 树 Maximum Depth of Binary Tree
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlieMaximum Depth of Binary Tree Total Accepted: 16605 Total Submissions: 38287Given a binary tree, find its maximum depth.原创 2014-05-10 22:42:45 · 776 阅读 · 0 评论 -
腾讯2014实习生基础研究方向笔试面试
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie2014/4/14笔试前面的基础部分好像跟后台研发的一样,后面有两道附加题,各个方向的附加题不一样。2014/4/15今天的面试主要是问了简历上的问题,发现有好多次都差点被问倒,幸亏面试官人还不错,没怎么追问。同学那边的面试还问了一些计算机的基础知识。2原创 2014-05-11 16:45:37 · 2951 阅读 · 0 评论 -
Leetcode 数 Palindrome Number
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenliePalindrome Number Total Accepted: 12165 Total Submissions: 41736Determine whether an integer is a palindrome. Do this wit原创 2014-05-12 17:08:53 · 543 阅读 · 0 评论 -
Leetcode 树 Binary Tree Inorder Traversal
题意:中序遍历思路:采用递归实现。因为函数声明是返回一个vector<int>,所以每个子树返回的是该子树的中序遍历的结果按照 左、根、右的次序把根和左右子树的vector合并起来就可以了原创 2014-05-13 16:43:55 · 819 阅读 · 0 评论 -
Leetcode 树 Binary Tree Level Order Traversal
题意:给定一棵二叉树,返回按层遍历的结果思路1:bfs,定义一个新的struct,记录指针向节点的指针和每个节点所在的层复杂度1:时间O(n),空间O(n)思路2:dfs递归函数:void levelOrder(TreeNode *root, int level, vector<vector<int> >&result)表示把根为root的树按层存放在result中,其中level表示当前的层数复杂度2:时间O(n),空间O(n)相关题目:原创 2014-05-13 17:42:13 · 852 阅读 · 0 评论 -
Leetcode 树 Populating Next Right Pointers in Each Node II
题意:给定一棵任意二叉树(不一定是perfect binary tree),将它每一个节点的next指针都指向该节点右边的节点思路:bfs这里不能用dfs了,只能用bfsbfs遍历将同一层的节点存放在同一个数组里,然后在遍历每个数组,将前面的节点和后面的节点connect起来,最后一个节点和NULL connect起来需要定义一个新的struct结构,保存指向每个节点的指针和该节点所在的层复杂度:时间O(n), 空间O( n)原创 2014-05-13 22:19:44 · 1325 阅读 · 0 评论 -
Leetcode 线性表 Merge Sorted Array
题意:两个有序数组A、B,把它们合成一个有序数组存放在数组A上思路:归并排序中的合并步骤。从头往前合并两个数据。A的大小是m,B的大小是n,合并后A的大小是m+n。设三个下标i,j,k,开始时分别指向A的m-1位置,m+n-1位置和B的n-1位置i,j分别向数组A,B的前面扫描,每次扫描比较A[i]和B[j]的大小,将大小的赋值给A[k],同时k--当i,j小于0时,停止扫描,把下标不小于0的那个数组复制到A中去(如果是A自己就不用复制了)原创 2014-05-14 18:09:05 · 659 阅读 · 0 评论 -
Leetcode 细节实现 Pascal's Triangle II
题意:题意:给定数字rowIndex,返回杨辉三角的第rowIndex行思路:按杨辉三角的定义生成rowIndex+1行杨辉,然后返回第rowIndex行即可复杂度:时间O(n^2),空间O(n^2)原创 2014-05-14 20:24:19 · 673 阅读 · 0 评论 -
Leetcode 细节实现 Pascal's Triangle
题意:给定数字numRows,返回杨辉三角的前numRows行思路:按杨辉三角的定义生成即可复杂度:时间O(n^2),空间O(n^2)原创 2014-05-14 18:06:02 · 700 阅读 · 0 评论 -
Leetcode 贪心 Best Time to Buy and Sell Stock III
题意:给定一组数,表示某个股票每天的价格,问怎么买卖可获得最大利益。最多可以买卖再次思路:分段动规因为最多可买卖两次,所以可分将数组两段,每段取最大利益设i将[1,n]分为[1,i]和[i,n](如果第一段在i卖,第二段在i买,则两段合为一段)f[i]表示以i为结尾的最大利益f[i] = max(f[i - 1], prices[i] - cur_min_price), cur_min_price表示当前最小价格从0到n,求f[i]g[i]表示以i为开头的最大利益g[i] = max(g[i原创 2014-05-14 20:34:51 · 717 阅读 · 0 评论 -
Leetcode 线性表 Merge k Sorted Lists
题意:将k个已排好序的链接合并成一个有序链表思路:利用Merge Two Sorted Lists的代码两条两条地合并链表复杂度:时间O(k*n), 空间O(1)原创 2014-05-14 20:05:17 · 478 阅读 · 0 评论 -
Leetcode 字符串 Valid Palindrome
题意:判断给定的字符串是不是回文(只考数字和字母)思路:1.先把字符串转换为小写的2.两个下标分别从头从尾开始扫描3.要过滤掉不是数字字母的字符通过这道题主要是学习了1.stl里algorithm的trnsform2.cctype里的isalnum,tolower等3.tolower在cctype的global namespace里有,在local的std namespace里也有,要用cctype里的tolower可用::tolower复杂度:时间O(n),空间O(1)原创 2014-05-14 22:42:01 · 612 阅读 · 0 评论 -
Leetcode 线性表 数 Add Two Numbers
题意:给定两个代表数字的链表,每个节点里存放一个digit,数字是逆方向的,将这两个链表相加起来思路:1.i, j遍历l1,l2至最长,短的补零2..设置一个进位变量c, 第i次遍历 l1,l2,c的和除以10进位,mod10留在这一位3.出循环后还要检查是不是还有进位复杂度:O(m+n), 空间O(m+n)原创 2014-05-15 10:02:56 · 713 阅读 · 0 评论 -
http 访问时会携带和返回的信息
Remote Address:115.239.210.27:80Request URL:http://www.baidu.com/Request Method:GETStatus Code:200 OKRequest Headersview sourceAccept:text/html,appl转载 2014-05-26 22:20:14 · 1278 阅读 · 0 评论 -
Leetcode 动态规划 Maximum Subarray
题意:最大连续子序列和,在一个数组中找到和最大的连续子数组思路:dp, 对于第i个数,有两种选择:把它加入在子数组里,不加入子数组(子数组到此结束)加不加入子数组,要比较它加入前后子数组的总和是变大了还是变小了,如果变大则加入,变小则不加入所以,我们需要记录以i-1结尾的子数组的总和,最后的结果在这些总和中取最大的那个f[i] = max(f[i-1]+a[i],f[i-1]);max({f[i]})实现时用两个变量,一个保存f[i-1],一个保存目前为止最大的f[i]复杂度:时间O(n),空原创 2014-05-14 17:51:16 · 1023 阅读 · 0 评论 -
Leetcode 动态规划 Climbing Stairs
题意:爬一层有n阶的楼梯,每次可以爬一阶或两阶,问爬到顶部有多少种方案思路:dp,具体一点是斐波那契数列。f(i) = f(i-1) + f(i-2)第i阶可以是从第i-2阶爬上来的,也可以是从第i-1阶爬上来的进一步发现在迭代到第i阶时,我们只要保存前面的f(i-1)和f(i-2),所以只要定义两个变量就可以,不用定义一个数组。原创 2014-05-14 15:35:45 · 939 阅读 · 0 评论 -
Leetcode 线性表 Remove Duplicates from Sorted Array II
题意:从一个已排序的数组中移除掉重复的元素,每个元素最多可重复两次思路: 思路和Remove Duplicates from Sorted Array一样,不过要设置一个计数变量,表示当前值出现的次数出现次数少于2可以加入到新数组,多于2则不可以。每次遇到一个新变量要把计数变量重新设置为1,加入新数组要加1 复杂度:时间O(n), 空间O(1)原创 2014-05-14 10:54:44 · 623 阅读 · 0 评论 -
Leetcode 线性表 Remove Duplicates from Sorted Array
题意:从一个已排序的数组中移除掉重复的元素思路:用下标i扫描旧数组,用下标j来保存新数组的尾部如果旧数组的当前元素与新数组的最后一个元素相同,则继续扫描旧数组如果不同,新数组的下标前移一们,将旧数组的当前元素赋给新数组,继续扫描旧数组相关题目:Remove ElementRemove Duplicates from Sorted ListRemove Duplicates from Sorted List II原创 2014-05-14 10:13:40 · 680 阅读 · 0 评论 -
Leetcode 树 Binary Tree Postorder Traversal
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie原创 2014-05-13 16:58:29 · 649 阅读 · 0 评论 -
Leetcode 树 Binary Tree Zigzag Level Order Traversal
题意:给定一棵二叉树,返回按zigzag层次遍历的结果思路:还是跟前面的Binary Tree Level Order Traversal的思路一样即从上往下按层遍历二叉树,将每一层的节点存放到该层对应的数组中最后将得到的总数组中奇数层(从0层开始计数)的子数组reverse一下就可以了复杂度:时间O(n),空间O(n)原创 2014-05-13 20:54:47 · 1250 阅读 · 0 评论 -
Leetcode 树 Binary Tree Level Order Traversal II
题意:从底往上按层遍历二叉树思路:思路和Binary Tree Level Order Traveral 一样,即从上往下按层遍历二叉树,将每一层的节点存放到该层对应的数组中最后将得到的数组倒转一下就可以了按层遍历二叉树可用bfs,也可用dfs,但都要记录节点所在的层复杂度:时间O(n), 空间O(n)原创 2014-05-13 20:28:29 · 1052 阅读 · 0 评论 -
Leetcode 线性表 Linked List Cycle
题意:判断一个链表中是否有环思路:快慢指针,如果有环,最终快慢指针会在非NULL相遇注:用到fast->next前先要确保fast非NULL,要用fast->next->next前先要确保fast,fast->next非NULL复杂度:时间O(n), 空间O(1)相关题目:Linked List CycleII原创 2014-05-13 16:34:14 · 678 阅读 · 0 评论 -
Leetcode 线性表 Remove Duplicates from Sorted List
题意:去掉已排序的链表里重复的元素思路:1.遍历链表,用一个变量保存当前链表节点的值2.如果当前链表节点值与前面的一样,则删除当前链表节点3.否则用当前节点值更新该变量复杂度:时间O(n), 空间O(1)原创 2014-05-14 10:16:45 · 746 阅读 · 0 评论 -
Leetcode 线性表 Remove Duplicates from Sorted List II
题意:将已排序的链表中所有重复的元素移除思路:三个个指针,pre, cur, next一个布尔变量is_appear,表示cur指针指向的值之前是否已经出现过检查cur, next指向的节点的值是否相同,相同的话,删除cur不同的话,如果is_appear为true,删除cur,否则不删除删除的话,只移动cur, next指针不删除的话,要移动pre, cur, next三个指针复杂度:时间O(n),空间O(1)原创 2014-05-14 14:21:34 · 610 阅读 · 0 评论 -
Leetcode 线性表 Remove Element
题意:移除数组中出现的给定元素,并返回移除元素数组长度。要求在数组上操作思路:遍历数组,将除给定元素外的其他元素赋值给“新数组”,不过这个“新数组”还是在原来的“旧数组”的内存空间因为遍历旧数组的下标总大于等于新数组的下标,所以赋值并不会影响到还没有遍历到的元素复杂度:时间O(n), 空间O(1)原创 2014-05-14 14:24:39 · 709 阅读 · 0 评论