面试算法
文章平均质量分 93
努力的小陶
这个作者很懒,什么都没留下…
展开
-
[面试算法] 动态规划
LCS(最长公共子序列)int LCS(string s1, string s2){ int len1 = s1.size(), len2 = s2.size(); vector<vector<int>> lcs(len1 + 1, vector<int>(len2 + 1)); for (int i = 0; i <= len1; i++) l...原创 2017-04-12 15:29:32 · 365 阅读 · 0 评论 -
[面试算法] 01背包 & 完全背包
Discription小Ho现在手上有M张奖券,而奖品区有N件奖品,分别标号为1到N,其中第i件奖品需要need(i)张奖券进行兑换,同时也只能兑换一次,为了使得辛苦得到的奖券不白白浪费,小Ho给每件奖品都评了分,其中第i件奖品的评分值为value(i),表示他对这件奖品的喜好值。现在他想知道,凭借他手上的这些奖券,可以换到哪些奖品,使得这些奖品的喜好值之和能够最大。每组测试数据的第一行为两个正整...原创 2017-04-30 10:23:04 · 648 阅读 · 0 评论 -
[面试算法] 剑指Offer代码汇总
此博客汇总剑指offer上的部分代码,更新中.......6.重建二叉树(前序和中序)TreeNode* reConstructBinaryTree(vector<int> pre, vector<int> vin) { if (pre.empty() || vin.empty()) return NULL; return reConstru...原创 2017-04-12 13:40:57 · 455 阅读 · 0 评论 -
[面试算法] 排序算法
快速排序int partion(vector<int> &nums, int begin, int end){ int x = nums[end], i = begin - 1; for (int j = begin; j < end; j++){ if (nums[j] <= x){ swap(nums[++i], nums[j]); } }...原创 2017-04-12 14:28:04 · 281 阅读 · 0 评论 -
[面试算法] 基本算法
不用加减号求两数的和int getSum(int a, int b) { if (b == 0) return a; return getSum(a^b, (a &b) << 1);}二叉树插入TreeNode* Insert(int val, TreeNode *root) { if (!root) root = ne...原创 2018-02-22 18:34:02 · 370 阅读 · 0 评论