算法
文章平均质量分 58
跑酷托托
这个作者很懒,什么都没留下…
展开
-
轻轻松松搞懂股票问题
【动态规划系列】轻轻松松搞懂股票问题原创 2021-12-06 11:17:18 · 168 阅读 · 0 评论 -
面试算法——二分查找五题解
文章目录前言69.x的平方根367.有效的完全平方数33.搜索旋转排序数组74.搜索二维矩阵153.搜寻旋转排序数组的最小值参考前言二分查找前提目标函数单调性存在上下届能通过索引访问代码模板int binarysearch(const vector<int>& nums, int target) { int left = 0, right = nums.size() - 1; while (left <= right){原创 2020-12-25 16:32:35 · 163 阅读 · 0 评论 -
面试算法——贪心算法题解
文章目录贪心算法定义贪心算法的反例322.零钱兑换贪心算法案例874.模拟行走机器人[860. 柠檬水找零](https://leetcode-cn.com/problems/lemonade-change/)455.分发饼干122.买卖股票的最佳时机II55.跳跃游戏I45.跳跃游戏II参考贪心算法定义贪心算法是一种 在每一步选择中,采取在当前状态下最好或最优的选择,从而希望通过局部最优获取全局最优。比如,跳台阶II,每次,我们从区间中选择跳最远的。经典贪心算法实践:求图中的最小生成树, 求哈夫曼编原创 2020-12-17 15:26:59 · 529 阅读 · 0 评论 -
200岛屿数量 DFS解法
文章目录200岛屿数量解法一 深度优先遍历I解法二 深度优先遍历II参考200岛屿数量题目:给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。输入:grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"], ["0","0","0"原创 2020-12-15 11:20:16 · 141 阅读 · 0 评论 -
127单词接龙——广度优先解法
文章目录127.单词接龙解法一:广度优先I解法二:广度优先II参考127.单词接龙给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。以下两种方法最主要:注意word加入队列后,立马将其从集合set中删除,不然,会继续重复while循环。把beginword作为根节点,改变一个字符形成的新单词 newworld,如果在set里面原创 2020-12-14 16:57:01 · 140 阅读 · 0 评论 -
102.二叉树的层次遍历两种解法
文章目录102.二叉树的层次遍历二叉树节点定义广度优先遍历模板解法一:层次遍历方法解法二:前序遍历方法参考102.二叉树的层次遍历题目:给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。二叉树节点定义 * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), ri原创 2020-12-13 15:48:07 · 97 阅读 · 0 评论 -
面试算法———回溯经典题目
文章目录分治模板[50.Pow(x, n) ](https://leetcode-cn.com/problems/powx-n/)[169. 多数元素](https://leetcode-cn.com/problems/majority-element/)78.子集17.电话号码的字母组合51.N皇后参考方法论:看题五分钟,不会做,看解析;先看中文站,再看国际站;选择最优解析;回头再来写面试四步走:和面试官,探讨题目限制条件;说说可能解,选择最优解;码字;跑测试用例分治模板C原创 2020-12-06 16:24:22 · 221 阅读 · 0 评论 -
面试算法——排列组合子集一锅端
文章目录78.子集90.子集II46.全排列47.全排列II39.组合总和40.组合总和II131.分割回文串参考方法论:看题五分钟,不会做,看解析;先看中文站,再看国际站;选择最优解析;回头再来写面试四步走:和面试官,探讨题目限制条件;说说可能解,选择最优解;码字;跑测试用例思维要点:不要人肉进行递归找到最近最简方法,将其拆解成可重复解决的问题(重复子问题)数学归纳法思维78.子集题目:给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集原创 2020-12-04 20:11:05 · 181 阅读 · 0 评论 -
面试算法——递归解读
方法论:看题五分钟,不会做,看解析;先看中文站,再看国际站;选择最优解析;回头再来写面试四步走:和面试官,探讨题目限制条件;说说可能解,选择最优解;码字;跑测试用例背景思维要点:不要人肉进行递归找到最近最简方法,将其拆解成可重复解决的问题(重复子问题)数学归纳法思维找到一种写代码的感觉!!!void recur(int level, int param) { // terminator if (level > MAX_LEVEL) { .原创 2020-12-03 21:37:00 · 102 阅读 · 0 评论 -
面试算法——树的遍历大大大汇总
文章目录[94. 二叉树的中序遍历](https://leetcode-cn.com/problems/binary-tree-inorder-traversal/)[144. 二叉树的前序遍历](https://leetcode-cn.com/problems/binary-tree-preorder-traversal/)145.二叉树的后序遍历589.N叉树的前序遍历590.N叉树的后序遍历[429. N叉树的层序遍历](https://leetcode-cn.com/problems/n-ary-t原创 2020-12-02 11:10:44 · 108 阅读 · 0 评论 -
面试算法——哈希表
文章目录[242. 有效的字母异位词](https://leetcode-cn.com/problems/valid-anagram/)49.字母异位词分组[1. 两数之和](https://leetcode-cn.com/problems/two-sum/description/)总结参考方法论:看题五分钟,不会做,看解析;先看中文站,再看国际站;选择最优解析;回头再来写面试四步走:和面试官,探讨题目限制条件;说说可能解,选择最优解;码字;跑测试用例242. 有效的字母异原创 2020-12-02 11:17:18 · 168 阅读 · 0 评论