- 博客(8)
- 收藏
- 关注
原创 70 爬楼梯 力扣 动态规划 快速幂
使用矩阵乘法,考虑到本题涉及到的变量其实只需要2*2大小的矩阵就可,在n较大时,无论是矩阵的空间开销还是矩阵乘法时间开销相加起来总归比n-1次迭代的时间复杂度要有效率,并且此处可用快速幂,使时间复杂度降到。由低阶的时候不断迭代加进去就可以得到最新的方案值,一直叠加即可,滚动只保持最新的前三个数组的元素即可。实际上不需要将过程中每一阶的方案一一存下来,只需要迭代,滚动数组获得n阶时的具体方案数即可。由上可看到,申请了46个数组空间,若N较大实际上比较费空间。数学思想: 矩阵次幂。适用于n比较大的情况。
2024-01-02 21:45:38 1107
原创 斯坦福 CS-143编译原理 First集 课堂笔记
First集在开始介绍First集之前先来讲说一点关于如何构建解析表的事情,或者说构建LL(1)解析表需要哪些条件所以在LL(1)构建解析表的时候我们需要知道什么呢,分为一下两种情况(见下图截图):上面图片来源于课程视频截图,下面记录一些课程老师所描述的情况以及个人的理解在给定非终结符A,产生式A→αA\rightarrow\alphaA→α,给定输入符号t;考虑我们什么时候使用产生式A→αA\rightarrow\alphaA→α,即使用产生式右边的α\alphaα进行对非终结符A的替
2022-04-14 15:39:16 342 1
原创 jdk环境配置操作以及javac无法访问不是内部文件问题解决方法(win10)
(这里写自定义目录标题)jdk环境配置操作以及javac无法访问不是内部文件问题解决方法(win10)1. 下载合适自己计算机版本的jdk(如何知道自己的计算机是几位系统,什么版本)操作一: 同时按住“win"和"R" 会出现如下窗口![输入"dxdiag" 点“确定”](https://img-blog.csdnimg.cn/20200905092123474.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdG
2020-09-05 10:17:43 518
原创 析构函数和delete
析构函数和delete区别析构函数: 析构函数没有参数,没有返回值,不能重载; 理解:在创建对象时,系统会自动调用构造函数进行初始化,这样需要申请内存,同样在程序结束时,或者需要销毁对象时,程序也会自动调用一个函数来进行清理工作; 一个类只能有一个析构函数,很多时候都是系统隐式调用对对象进行销毁,程序员也无法显式调用,(但可以在析构函数里写上自己想要在销毁的时候需要进行的别的工作,比如:/用来计数雇员数量程序/Employee(std::string name, Gender gender,
2020-07-21 17:54:32 3296
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人