数据结构算法复习
Krystalcsdn
这个作者很懒,什么都没留下…
展开
-
动态规划全总结(1)
有了四步解题法模板,再也不害怕动态规划!导言动态规划问题一直是算法面试当中的重点和难点,并且动态规划这种通过空间换取时间的算法思想在实际的工作中也会被频繁用到,这篇文章的目的主要是解释清楚什么是动态规划,还有就是面对一道动态规划问题,一般的思考步骤以及其中的注意事项等等,最后通过几道题目将理论和实践结合。什么是动态规划如果你还没有听说过动态规划,或者仅仅只有耳闻,或许你...转载 2019-11-23 17:22:41 · 263 阅读 · 0 评论 -
动态规划全总结(2)
(进阶版)有了四步解题法模板,再也不害怕动态规划!上一次解释了动态规划的一些基本特性和解题思路,也说了动态规划其实就是记住之前问题的答案,然后利用之前问题的答案来分析并解决当前问题,这里面有两个非常重要的步骤,就是拆解问题和定义状态。这次来针对具体的一类动态规划问题,矩阵类动态规划问题,来看看针对这一类问题的思路和注意点。矩阵类动态规划,也可以叫做坐标类动态规划,一般这类问题都...转载 2019-11-23 17:20:50 · 314 阅读 · 0 评论 -
动态规划全总结(3)
(再进阶版)有了四步解题法模板,再也不害怕动态规划!有了四步解题法模板,再也不害怕动态规划!(进阶版)有了四步解题法模板,再也不害怕动态规划!浅谈什么是动态规划以及相关的「股票」算法题概论上一篇文章我们分析了矩阵类动态规划,说到这类动态规划通常在一个矩阵中进行,我们只需要考虑当前位置的信息即可,分析并定义状态的时候,也只需要分析当前位置和其相邻位置的关系,通常这样做就可以达到拆解问...转载 2019-11-23 17:18:21 · 184 阅读 · 0 评论 -
二叉搜索树的判断
问题编写完整的程序。以先序遍历顺序输入一个由正整数组成的二叉树(0表示空树),判断该二叉树是否为二叉搜索树。若是输出True,不是输出False。输入说明:数字N,表示N颗二叉树,接下来N行由正整数和0组成的数字输出说明:true 或者 false(是否是二叉搜索数)输入样例:214 9 6 0 0 11 0 12 0 0 15 0 07 3 4 0 0 0 5 0 0...原创 2019-11-16 17:54:48 · 761 阅读 · 0 评论 -
代码面试指南第一章-2.用两个栈实现队列
主要思路和注意点用两个栈实现队列,主要注意点有两个:1.从push栈向pop栈转移时一定要一次全部转移过去。2.在pop栈不空时不能转移。代码和测试#include<bits/stdc++.h>usingnamespacestd;classTwoStacksQueue{private:stack<int>...原创 2019-10-28 21:49:28 · 178 阅读 · 0 评论 -
牛客网2019技术类题解字节跳动(1)
字节跳动(1)#include <bits/stdc++.h>using namespace std;long long combNum(int,int);int main(){ int N,D; scanf("%d%d",&N,&D); int positions[N]; for(int i=0;i<N;i++){ scanf("%d",...原创 2019-10-09 15:51:47 · 236 阅读 · 0 评论 -
反转每对括号间的子串
leetcode周赛上的第二题,难度中等。题目给出一个字符串s(仅含有小写英文字母和括号)。请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。注意,您的结果中不应包含任何括号。示例 1:输入:s = "(abcd)"输出:"dcba"示例 2:输入:s = "(u(love)i)"输出:"iloveu"示例 3:...原创 2019-09-17 15:16:18 · 1492 阅读 · 0 评论 -
动态规划算法的复习和应用
今天在leetcode周赛上做了一道题,用到了动态规划的思想,发现这部分已经忘记了,现在复习+整理一下。动态规划算法的核心是记住已经解决了的子问题的解,从而节省时间。动态规划算法的条件是:问题可以分成若干个子问题,而且在任一阶段后的行为依赖于该阶段的状态,与该阶段之前的过程如何达到这种状态的方法无关。动态规划算法的基本要素最优子结构 当问题的最优解包含了其子问题的最优解时,称该问...原创 2019-09-15 21:39:28 · 459 阅读 · 0 评论 -
用回溯法解矩阵中的路径问题
题目请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了...原创 2019-09-10 19:46:16 · 222 阅读 · 0 评论 -
经典排序算法复习
快速排序用vector存数据#include <bits/stdc++.h>using namespace std;int oneSort(vector<int> &data,int i,int j){ int pivotkey=data[i]; while(i<j){ while(i<j&&...原创 2019-08-26 14:27:30 · 150 阅读 · 0 评论