C++
ltachi刘
这个作者很懒,什么都没留下…
展开
-
C++知识点
1.C++的类和C里面的struct有什么区别?答:(1)类中的成员和成员函数默认为私有,结构体中默认为共有。(2)struct没有定义方法,C++中有定义方法。2.const比#define有哪些优点?答:(1)const 常量有数据类型,而宏没有。(2)编译器会对const 进行类型安全检查,后者只是替换,没有检查。(3)const可节省空间,避免不必要的内存分配3.类成员函数的...原创 2020-02-18 15:48:05 · 234 阅读 · 0 评论 -
C++默认参数
默认参数#include #include <time.h>using namespace std;void weatherCast(string weather=sunny){time_t t =time(0);//1970.0.0.0char tmp[64];strftime(tmp, sizeof(tmp), “%Y%m%d %X %A”,localtime(&a...原创 2020-02-17 13:28:23 · 133 阅读 · 0 评论 -
分治法
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。算法:为了解决这个问题,我们需要理解 “中位数的作用是什么”。在统计中,中位数被用来:将一个集合划分为两个长度相等的子集,其中一个子集中的元素总是大于另一个子集中的元素。这其中又...转载 2019-11-25 16:24:50 · 417 阅读 · 0 评论 -
滑动窗口
题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。解析:暴力解法时间复杂度较高,会达到 O(n^2),故而采取滑动窗口的方法降低时间复杂度。1.定义一个 map 数据结构存储 (k, v),其中 key 值为字符,value 值为字符位置 +1,加 1 表示从字符位置后一个才开始不重复;2.我们定义不重复子串的开始位置为 start,结束位置为 end;3.随着 end...原创 2019-11-25 15:38:16 · 68 阅读 · 0 评论 -
动态规划(1)--青蛙跳台阶
动态规划例子一:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级台阶总共有多少种跳法。分析:第一步:假设台阶有7阶的话,先从正向分析,假如先跳了一阶,那么还有六阶可选,假如先挑了二阶,就还有五阶可选。所以可以得出,在青蛙做出一个动作后会有f(7) = f(6) + f(5);第二步在青蛙做出第二步动作时,先假设青蛙第一次只跳了一阶,此时剩六阶台阶,又演变成了我们...原创 2019-11-22 16:09:16 · 664 阅读 · 0 评论 -
C++学习笔记
C++学习new delete使用方法:int *p =new int[10];内联函数介于宏函数和普通函数之间宏函数优点:代码内嵌,避免了函数调用,不会压栈和出栈。宏函数缺点:容易产生歧义,易使程序的text段体积过大,不会进行类型检查。普通函数优点:一段高度抽象的逻辑,避免重复,不易产生歧义,使text段体积变小,会类型检查。普通函数缺点:增加函数调用的压栈出栈开销。内联函...原创 2019-03-30 16:33:29 · 82 阅读 · 0 评论