自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 window下整数数组初始化最大的长度

window下编程在栈上开辟内存有大小限制,1M,1024千字节,所以开辟整形数组的最大长度是10的6次方除以4。

2020-06-05 10:26:53 177

原创 Qt无反应的解决办法

Qt无反应的解决办法查看版本兼容性,64位,操作系统匹配等显卡设置问题,记得关闭网易翻译软件。over

2020-03-12 15:02:19 1189

原创 c++类的创建以及参数的传递

面向对象思想的载体-类(class)类的定义不同的书籍上对类的定义大同小异,核心的点都是强调类是一种数据和与该数据相关方法的有限集合。并作为一个整体的结构而存在。在内存分配上用户在创建类模板的时候系统不分配内存,只有在创建对象的时候为模板中的数据分配相应的内存,并把函数保存成统一的接口,这里如果有多个对象调用函数编译器怎么知道函数返回给谁呢,this指针。编译器为每个对象在编译的时候添加thi...

2020-03-03 23:47:22 1871

原创 侯捷C++编程(上)之构造函数

构造函数面向对象的编程语言C++,较于C曾被称为带类的C,把数据和方法封装起来。1:对象的构造函数,在创建对象的时候被自动调用。2:对象的构造函数可以重载为多个函数。3:构造函数有特殊的赋值形式。4:构造函数的名字与类名相同且没有返回值。class complex { complex(double x,double y){re = x;im = y;}//1 complex():r...

2020-03-01 13:29:50 240

原创 连续子数组的最大和

题目输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。from LeetCode。这个题目第一眼就是暴力解法,遍历所有的符合要求的子串,求得最大值,但是效率是O(n2).超时。我在题解里看到一个巧妙的解法,特此复制如下:int maxSubArray(vector<int>& nums...

2020-02-27 14:01:38 86

原创 面试题33. 二叉搜索树的后序遍历序列

题目输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。from LeetCode。bool PosTraversal(vector<int> &postorder,int l,int r){ if(l>=r) { return true; } int i =...

2020-02-25 21:09:42 122

原创 树的子结构Leecode

题目输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构, 即 A中有出现和B相同的结构和节点值。 bool isSubStructure(TreeNode* A, TreeNode* B) { if (B==NULL) { return false; } if (A==NULL) { return false;...

2020-02-24 12:39:53 131

原创 斐波那契数列 LeetCode

题目写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:f(n) = f(n-1)+f(n-2);递归解法int fib(int n){ if(n<==0) { return 0; } if(n==1) { return n; } return fib(n-1)+fib(n+2);}此递归的时间效率是指数级,效...

2020-02-21 17:00:50 632

原创 重建二叉树LeetCode

给出一棵树的先序遍历和中序遍历,重建出整棵树。思路先序遍历的第一个值是根节点,在中序遍历序列里根节点左边是左子树,右边是右子树。中序遍历里得到左子树的长度在先序遍历里确定左子树,这样又得到了左子树的先序遍历和中序遍历,以此类推得到递归树。map<int,int> Save;///后续列表的元素索引,根据元素可以很快得到索引。TreeNode*Build(vector<in...

2020-02-21 16:34:37 145

原创 面试题二维数组的查找LeetCode

题目在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。来源:力扣(LeetCode)暴力法:遍历二维数组,时间效率 O(m*n),空间效率O(1);线性法:这是一个很巧妙的方法,充分利用了二维数组的特别,从左到右,从上到下都是递增的。从右上角出发,大了往左走...

2020-02-20 17:28:32 228

原创 面试题单词转换leetcode

题目给定字典中的两个词,长度相等。写一个方法,把一个词转换成另一个词, 但是一次只能改变一个字符。每一步得到的新词都必须能在字典中找到。编写一个程序,返回一个可能的转换序列。如有多个可能的转换序列,你可以返回任何一个。来源:力扣(LeetCode)解题思路思路一:每个单词都有三个字母,两个单词是否符合转换要求有三种情况,递归树法 T(n) = 3*T(n-1)+ O(n),但是这种方法不...

2020-02-19 23:45:56 729

原创 面试题直方图水量

解题思路这道题应用动态规划思想是比较巧妙的,大问题是找所有点向左右最低点看齐的差量集合,小问题是找每一个点左右边最高点的较低点。 int Size = height.size(); if (Size <=2) { return 0; } vector<int> dpLeft(Size); vector<int> dpRight(Size...

2020-02-19 12:12:03 249

原创 动态规划例题之按摩师

方法一:递归时间效率2n这个令人窒息的时间效率,部分代码片段如下: if (nums[i] + message_A(nums, i + 2) > nums[i] + message_A(nums, i + 3)) { return nums[i] + message_A(nums, i + 2); } else { return nums[i...

2020-02-17 23:12:22 408

原创 求一个字符串的子串

题目给定一个字符串S,求这个字符串所有的子串,子串字符在原字符串中可不连续,顺序按原字符串中的字符顺序。子串的数量按照题干可知子串的数量是2n-1个。利用2进制的特点 int n = s1.length(); if (n==1) { cout << s1 << endl; return;// } int num = 1 << n;...

2020-02-12 00:39:18 1060 1

原创 动态规划思想-最长公共子序列

分治思想实际应用的一种方法-动态规划在应用分治思想将大问题分解成若干个小问题后,同样的问题可能被反复计算这就造成了效率上的负担,以斐波那契数列为例直接的递归操作的时间效率是指数级,如果采用自低而上的策略则为O(n),这里的自低而上就是动态规划。动态规划的特点分析一个最优解决方案的结构用递归的方法定义最优解决方案由低而上定义一个最优结构最长公共子序列题目:假设两个字母序列S1= {...

2020-02-11 10:12:43 878

原创 算法之道第三章第九题选幸运人士

题目大型派对要选出幸运人士,一字排开,从左到右点数,凡是奇数都淘汰,如此往复,只剩下一个人为止。分析依据分治思想,每次队列都是相同的操作,加上递归,问题就容易解决了。T(n) = T(n/2) + θ(1);所以复杂度为logn;c++代码如下Node* LuckMan(Node* head){ int flag = 1; Node* l = head; if (l->...

2020-02-09 21:51:48 282

原创 分治与递归

分而治之从国家治理到体育竞赛,分治的思想贯穿到人类生活生产的很多方面。行省制的建立就是分而治之思想的体现,一个庞大的帝国幅员辽阔人口众多,单单依靠中央政府的直接管理肯定会有鞭长莫及的情况。于是依靠老祖先的智慧有了行省制、郡县制、百户千户制,大大提高了国家的治理能力。世界杯选拔按大洲分赛区、班级里分学习小组…分治策略分治问题可以总结为以下执行策略:一个大问题可以分解为小问题,小问题与大问题...

2020-02-08 22:57:24 739

原创 算法分析之计数与渐进分析

算法分析三方面正确性分析:对一个能得到终结结果的算法的结果进行正确性分析(顺口溜)时空效率分析:对算法的实现运行所用空间和所需步骤进行分析。时空特性分析:除了以上两点还有诸如:健壮性、稳定性、可维护性、可拓展性等方面的分析。计数分析计数分析是算法时空效率分析的基石。如下一段代码:for(int i = 1;i<=n;i*=2){ for(int j = 1;j&l...

2020-02-08 00:49:44 517

原创 算法基础

什么是算法针对算法的定义从不同的领域和角度出发都会得到有差异的结果。这里针对算法的几个性质列出说明:1.确定性:无歧义,照方抓药。2.可行性:这药要能吃,虽然吃了未必见效。当然吃药是期望见效的。3.有限性:多久能见效呢?当然这药不能吃一辈子才见效或者还不见效。越快见效越好。算法的表示自然语言表示:步骤清晰,符合人之常识。例如:一道菜的菜谱就如同一个算法,每个步骤的操作白纸黑字,对于...

2020-02-07 22:08:44 119

原创 斯坦福EE261傅里叶变换与应用课程学习笔记一

课程目标:学习者能熟练的使用傅里叶变换,并且能灵活运用。课程内容:使用傅里叶工具解决物理问题、傅里叶级数、离散和连续傅里叶变及4性质。狄拉克函数、分布、广义变换。卷积及相关应用。概率分布,采样原理,滤波器,线性系统分析。离散傅里叶变换与快速傅里叶变换。多维傅里叶变换在图像分析中的应用以及在光学与晶体学上的应用。结合实际工程应用与理论方法。课程预览:关键语句与名词。每个信号都有一个频谱,频谱决...

2020-01-15 15:04:09 307

原创 同一个cpp文件中的函数无法相互引用

##同一个cpp文件中的函数无法相互引用同一个cpp文件中的函数无法相互引用#ifdef XCRASHREPORT_WRITE_MINIDUMP#endif 之类的东西造成的影响 把函数从里面拔出来...

2018-12-20 03:04:08 411

高性能计算并行编程

仅用于技术交流,如有侵权通知即删

2016-06-13

哈夫曼编码

这是个算法!二叉树!for(i=0;i<n;i++) cin>>Nodes[i].data; for(i=0;i<n;i++) cin>>Nodes[i].weight;

2015-07-16

空空如也

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

TA关注的人

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