简介

单调栈实际上也是栈,但他利用了一些巧妙的逻辑,让每次新元素入栈后,栈内元素都保持 有序(单调递增或单调递减),那么,这个逻辑是什么,其实很简单,以栈底-栈顶单调递增 为例,每次新元素入栈时,让栈内元素与新元素判断,比新元素大的栈内元素出栈即可。

阅读全文 »

Git学习

创建版本库

1
2
3
4
5
6
7
8
9
$ mkdir learngit//创建目录
$ cd learngit//切换目录
$ pwd//显示当前目录
$ ls -ah//显示目录
$ git init//把目录变成可管理的仓库
$ git add //把文件添加到仓库
$ git commit -m""//git commit告诉Git,把文件提交到仓库,-m用于添加对这次操作的说明
$ cat readme.txt//查看readme.txt的内容
/Users/michael/learngit

在Windows中当输入完txt内容后,按esc加:wq退出输入模式

阅读全文 »

动态规划

简要理解

动态规划的思想是把问题划分为多个子问题,但子问题常常并不是互相独立的,当前子问题的解可看作是前面多个阶段的完整总结,所以它需要在子问题求解过程中进行多次判断与选择,与前面的问题相比,它现阶段一定要构成一种最优的结构,它满足最优化原理, 最优化原理:一个最优化策略具有这样的性质,不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略。同时,这样的最优策略是针对有已作出决策的总结,对后来的决策没有直接影响,只能借用目前最优策略的状态数据。这也被称之为无后效性。

阅读全文 »

新手村

01-从pr的最简工作流讲起

  1. pr的用途: pr是一款用于视频段落的组合和拼接,并提供一定特效和调色功能
  2. 项目窗口: 用于储存视频,音频,图片,序列等素材
  3. 序列窗口: 用于编辑音频,视频,可以多个轨道同时编辑
  4. 预览窗口: 用于实时预览时间线上的素材效果。
  5. 效果控件窗口 可以对素材的基本属性做出调整,也可以调整添加在素材上的效果参数
  6. 效果窗口: pr中需要用到的各种自带的效果
  7. pr工作流程:
    1. 素材窗口中导入素材
    2. 新建序列
    3. 通过剃刀工具(C)对素材进行裁剪
    4. 通过选择工具(V)对素材进行选择并删除
    5. 通过拼接完成对素材的剪辑
    6. 渲染输出成片
阅读全文 »

递归算法

什么是递归?

递归,在计算机科学中是指一种通过重复把问题分解为同类的子问题而解决问题的方法,通俗来讲,递归表现为函数调用函数本身。在知乎上有一个比喻递归非常形象的例子。 “递归最恰当的比喻,就是查词典。我们使用的词典,本身就是递归,为了解释一个词,需要使用更多的词。当你查一个词,发现这个词的解释中某个词仍然不懂,于是你开始查这第二个词,可惜,第二个词里仍然有不懂的词,于是查第三个词,这样查下去,直到有一个词的解释是你完全能看懂的,那么递归走到了尽头,然后你开始后退,逐个明白之前查过的每一个词,最终,你明白了最开始那个词的意思。”.

阅读全文 »