Lintcode
喜欢恋着风
这个作者很懒,什么都没留下…
展开
-
整数排序
给一组整数,按照升序排序。使用归并排序,快速排序,堆排序或者任何其他 O(n log n) 的排序算法。此题主要是回顾一下三种O(Nlog(N))复杂度的算法,以后面试可能会用到,要能保证在短时间内能够写出来这些算法,所以直接贴代码:int partition1(vector<int>&A,int low,int high){ int temp = A[low]; w原创 2017-06-07 20:29:33 · 1387 阅读 · 0 评论 -
快乐数
写一个算法来判断一个数是不是”快乐数”。一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或是无限循环但始终变不到1。如果可以变为1,那么这个数就是快乐数。样例 19 就是一个快乐数。 1^2 + 9^2 = 82 8^2 + 2^2 = 68 6^2 + 8^2 = 100 1^2 + 0^2 +原创 2017-06-08 20:00:52 · 220 阅读 · 0 评论 -
岛屿的个数
给一个01矩阵,求不同的岛屿的个数。0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。样例 在矩阵:[ [1, 1, 0, 0, 0], [0, 1, 0, 0, 1], [0, 0, 0, 1, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 1]]中有 3 个岛.本题主要是做一个二层循环,然后对内部的每一个坐标上原创 2017-06-08 20:35:31 · 1552 阅读 · 0 评论 -
搜索二维矩阵
写出一个高效的算法来搜索 m × n矩阵中的值。这个矩阵具有以下特性:每行中的整数从左到右是排序的。 每行的第一个数大于上一行的最后一个整数。样例 考虑下列矩阵:[ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50]]给出 target = 3,返回 true思路: 排序数组,二分查找即可;bool searchMatrix(vec原创 2017-06-08 20:53:55 · 248 阅读 · 0 评论 -
树算法总结
归纳了一些刷题时候常见的树的算法,不算完整,后续还会补充;#include<iostream>#include<vector>#include<stack>#include<queue>using namespace std;struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(原创 2017-06-14 11:08:28 · 306 阅读 · 0 评论