摘要:
vector容器 vectoor是一个单口容器。 vector动态增长的基本原理 当插入新元素的时候,如果空间不足,那么vector会重新申请更大的一块内存空间,将原空间数据拷贝到新空间,释放旧空间的数据,再把新元素插入新申请空间。 vecotr这么做的原因是:vector中的元素是连续存储的,当容 阅读全文
摘要:
最近关于Qt学习的一点碎碎念 一直在使用Qt,但是最近对Qt的认识更加多了一些。所以想把自己的一些想法记录下来。 1. Qt最好的学习资料应该是官方的参考文档了。对Qt的每一个类都有非常详细的介绍。我做了一个截图,在最近查找资料过程中,发现网上很多的中文资料基本上是对照着英文帮助进行翻译,有部分还翻 阅读全文
摘要:
Detailed Description QSettings类提供了持久的跨平台的应用程序设置。用户通常期望应用程序记住它的设置(窗口大小、位置等)所有会话。这些信息通常存储在Windows系统注册表,OS X和iOS的属性列表文件中。在Unix系统中,在缺乏标准的情况下,许多应用程序(包括KDE应 阅读全文
摘要:
在Qt的开发过程中,信号带参数是很常见的,在使用带参数的信号槽时,有以下几点需要注意。 当信号和槽函数的参数数量相同时,它们的参数类型要完全一致。 信号和槽函数的声明: 信号和槽函数的绑定: 发射信号: 槽函数的实现: void MainWindow::iSlots(int b) { qDebug( 阅读全文
摘要:
1 C++中使用vector来表示二维数组 声明一个二维数组: 将变量dp初始化为一个含有row个元素的vector对象,其中每个元素又都是含有col个元素的vector对象。内部的vector对象的基类型为int,外部vector对象的基类型为 vector。 获取数组的row和col 2 自己动 阅读全文
摘要:
思路1 刚看到这道题的时候,第一个思路还是DFS,但是考虑到前面几个问题,怕DFS超时,所以直接使用DP。 思路2 动态规划 题目中给出输入样例为: DP需要维护一个二维数组,dp[i][j]表示到(i,j)的最短的路径和。 首先看两条边,两条边的走法比较单一,只能横着走过去或者竖着向下走,因此dp 阅读全文
摘要:
思路1 这个题目第一个思路还是用DFS,和第62题一样,但是在递归的时候需要判断有无障碍物。因为第62题用的DFS,Leetcode提示Time Limit Exceeded,所以这道题没有尝试DFS的做法,而是直接使用了DP。 思路2 根据第62题可以得到状态转移方程为dp[i][j] = dp[ 阅读全文
摘要:
今天在使用VS2017写程序时,报错: 出错的代码如下: include "pch.h" include include using namespace std; class TA { public: TA(int &i) :m_i(i) {}; ~TA(); //TA(const TA& ta); 阅读全文
摘要:
思路1 这个思路比较简单,就类似于图的遍历算法,用递归来解。递归的基线条件是到达目的地或者是走到了边界。递归的条件是机器人从一个点只能往下走或者往右走,即x = x + 1或者y = y+1。 到达某一格的路径数量等于它的上面和左边的路径数之和。 C语言实现 但是上面代码在LeetCode上运行,会 阅读全文
摘要:
《算法图解》书 动态规划章节读书笔记 1 对于背包问题,可以偷商品的一部分吗? 答:不可以,使用动态规划问题时,要么考虑拿走整件商品,要么考虑不拿,而没法判断该不该拿走商品的一部分。 2 动态规划能处理相互依赖的情况吗? 答:不可以,仅当每个子问题都是离散的,即不依赖于其他子问题时,动态规划才管用。 阅读全文