自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 结构体对齐问题

复盘了一下笔试遭遇的结构体对齐问题1、位域int i:2; // 表示变量i只占用2个bit位题目1:64位系统,4字节对齐,声明如下:struct s1{ int i: 8; int j:4; int a:3; double b;};struct s2{ int i: 8; int j: 4; double b; int a:3;};printf("%d\n", sizeof(s1));printf("%d\n", sizeof(s2));输出的结果

2020-09-28 22:03:21 200

原创 96. 不同的二叉搜索树

class Solution {public:// 设G(n) 表示从[1,n]所有的二叉搜索树个数,F(i,n)表示i为根节点,从[1,n]有多少个二叉搜索树// G(n) = sum(F(i,n)) i∈[1,n]// 由于[1,n]是不重复的数字,所有左右子树不存在重复的可能性// 所以F(i,n) = G(i-1)·G(n-i) 组左右子树集合的笛卡尔积// 那么,可以推导出,G(n)依赖于G(0)...G(n-1),所以只需要从小到大计算G函数即可 int numTr...

2020-08-24 20:13:05 111

原创 面试题 17.16. 按摩师

class Solution {public: int massage0(vector<int>& nums) { if(nums.empty()) return 0; vector<int> res(nums.size(), 0); if(nums.size() >= 1) res[0]=nums[0]; if(nums.size() >= 2) res[1]=max(nums[0], .

2020-08-22 11:08:11 124

原创 面试题 08.01. 三步问题

class Solution {public: int waysToStep0(int n) { if(n < 0) return -1; if(n == 0) return 0; if(n == 1) return 1; if(n == 2) return 2; vector<int> dp(n+1, 0); dp[1] = 1; dp[2] = 2; .

2020-08-21 23:56:37 99

原创 746. 使用最小花费爬楼梯

class Solution {public: int minCostClimbingStairs(vector<int>& cost) { // f(i) 表示到达i台阶在往上爬的花费 // 同一位置上一层或者上两层的花费实一样的 // 楼层的顶部在数组之外 // f(i) = min( f(i-1), f(i-2) ) + cost[i] vector<int> f(cost.si.

2020-08-21 23:42:34 79

原创 1025. 除数博弈

class Solution {public: bool divisorGame0(int N) { return N%2 == 0; } // f(i)表示先手输赢,如果能找到j能被i整除且f(i-j)是false则f(i)是能赢的,否则是输 bool divisorGame(int N) { vector<bool> f(N+1, 0); f[1]=0; f[2]=1; fo.

2020-08-21 22:43:03 75

原创 70. 爬楼梯

class Solution {public:/* int table[10000]; int climbStairs(int n) { if (n == 0 || n == 1) return 1; else if (0 != table[n]) return table[n]; else { int num = 0; if (0 != table[n - 1]) num += table.

2020-08-21 22:16:26 69

原创 剑指 Offer 42. 连续子数组的最大和

class Solution {public: int maxSubArray0(vector<int>& nums) { if(nums.size() == 0) return 0; int sum = 0x80000000; int cur = 0; // 滑动窗口 for(int i = 0; i <nums.size(); i++){ if(cur < .

2020-08-21 21:24:07 104

原创 纯虚函数和虚函数的区别

纯虚函数和虚函数都是使用virtual关键字,只是纯虚函数在函数原型后面加上“=0”。 含有纯虚函数的类是抽象类,不能实例化/生成对象,只能派生,它派生的类的纯虚函数如果没有重写,那么,它的派生类也是抽象类。定义纯虚函数就是为了让基类不能实例化,因为实例化这样的抽象数据结构是没有意义的(比如:熊猫、老虎、长颈鹿的基类:动物,实例化动物没有意义) 纯虚函数可以有函数体,但必须定义在类的外部。 虚函数主要作用是“运行时多态”,父类中提供虚函数的实现,为子类提供默认的函数实现。子类可以重写父类的虚函数实现子

2020-08-19 09:33:23 4295

原创 fork进程之间的数据共享问题

子进程会拷贝父进程的所有资源,变量。注意:子进程拷贝了父进程数据空间、堆、栈等资源的副本,父子进程间不共享这些存储空间,共享的空间只有代码段,子进程修改一个全局变量,父进程的这个全局变量不会改变,因为是一个副本。所以下面的程序子进程不会输出:#include <unistd.h>#include <stdio.h>int main(){ pid_t pid; pid = fork(); int countf = 0; int counts

2020-08-18 15:24:08 1224

原创 TGFF伪随机任务图生成器编译

官网:https://robertdick.org/projects/tgff/index.html下载源码,解压,下面进行编译直接用了Windows下的Linux子系统,这里用的是从商店里面安装的UbuntuWindows系统的磁盘已经挂载在Ubuntu系统上了找到TGFF解压的目录,进入目录,执行make运行,可以看到编译成功,tgff需要一个配置文件来生成任务图...

2020-05-28 12:02:26 1823 10

原创 32767+1=-32768 补码

问题:16位的intint a = 32767;std::count << a + 1 << std::endl;涉及到数值二进制的存储形式,有三种,原码,反码,补码一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号,正数为0,负数为1。因为第一位是符号位,所以机器数的形式值就不等于真正的数值。...

2020-03-22 01:14:35 4594 2

原创 13. 罗马数字转整数

简单题目,字符串处理,用了switch-case处理的,为了防止越界问题,for循环的i从1开始,switch从i-1开始判断,这样判断i-1和i位是否是一个整数就不会越界了。最后再判断最后两位是否是一个整数,如果是,在for循环里面就处理了,不是的话,再相加。用了三个switch-case,代码很长,其实可以使用字典,不用判断直接进行相加。看了其他人的题解一、利用罗马数字的特性,如果...

2019-10-10 22:15:13 81

tgff-3.6.rar

官方网站https://robertdick.org/projects/tgff/index.html下载的,已通过Windows下的Linux子系统编译完成,需要在Windows下的Linux子系统下或者纯Linux系统下运行

2020-05-28

病毒分析工具MyMonitor(来自Killdu)默认中文版

MyMonitor,可以将病毒样本直接拖放到MyMonitor监控工具中,然后它将监控该样本所调用的大多数病毒相关的API,待病毒退出后将生成一份报告。这样,分析人员无需再去解密,脱壳,去花指令。它简化了病毒分析工作

2011-12-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除