![](https://img-blog.csdnimg.cn/20200206111244830.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
C++相关
Codeapes
这个作者很懒,什么都没留下…
展开
-
剑指Offer :字符串的排列
文章目录1. 题目 11.1 示例1.2 解题思路1.3 代码实现2. 题目 22.1 示例2.2 解题思路2.3 代码实现3. 题目 33.1 解题思路3.2 代码实现1. 题目 1输入一个字符串,打印出该字符串中字符的所有排列。例如,输入字符串 abc,则打印出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。1.1 示例输入:abc输出:abcacbbacbcacbacab1.2 解题思路可以把一个字符串看成由两部分组成:第一原创 2020-06-26 23:11:49 · 297 阅读 · 0 评论 -
华为OD机试 :找终点
文章目录1.题目大意2.样例输入3.样例输出4.说明5.代码实现1.题目大意给定一个正整数数组,最大为100个成员,从第一个成员开始,走到数组最后一个成员最少的步骤数。第一步必须从第一元素开始,1<=步长<len/2, 第二步开始以所在成员的数字走相应的步数,如果目标不可达返回-1,只输出最少的步骤数。2.样例输入7 5 9 4 2 6 8 3 5 4 3 93.样例输出24.说明第一步:第一个可选步长选择2,第一个成员7走第2个成员,第二步,第2个成员为9,经过9个成原创 2020-06-07 12:50:18 · 5132 阅读 · 0 评论 -
华为OD机试 :磁盘容量排序
今天参加华为OD机试,总共有两道机试题,每道题200分,总共400分,华为那边要求是两道题全过。第一道题是磁盘容量排序,其实挺简单的,但我一直没调试好,导致心态直接崩了,后面第二题也没看,看来以后要好好刷题才行。文章目录1.题目大意2.样例输入3.样例输出4.代码实现1.题目大意磁盘的容量单位有M、G、T,其关系为 1T = 1000G、1G = 1000M,如样例所示先输入磁盘的个数,再...原创 2020-03-08 22:34:09 · 6482 阅读 · 3 评论 -
剑指Offer :从上到下打印二叉树
文章目录1. 题目 11.1 示例1.2 解题思路1.3 代码实现2. 题目 22.1 示例2.2 解题思路2.3 代码实现3. 题目 33.1 示例3.2 解题思路3.3 代码实现1. 题目 1不分行从上到下打印二叉树。从上到下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。1.1 示例输入: 8 / \ 6 10 / \ / \ 5...原创 2020-02-10 12:24:09 · 303 阅读 · 0 评论 -
LeetCode :21.合并两个有序链表
文章目录1.题目2.示例3.解法探析3.1 解法 1:迭代法3.1.1 解题思路3.1.2 代码实现3.1.3 复杂度分析3.2 解法 2:递归法3.2.1 解题思路3.2.2 代码实现3.2.3 复杂度分析1.题目将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。2.示例输入:1->2->4, 1->3->4输出:...原创 2020-02-06 20:24:38 · 185 阅读 · 0 评论 -
LeetCode :206.反转链表
文章目录1.题目2.示例3.解法探析3.1 解法 1:迭代法3.1.1 思路分析3.1.2 代码实现3.1.3 复杂度分析3.1.4 动态图解3.2 解法 2:递归法3.2.1 思路分析3.2.2 代码实现3.2.3 复杂度分析1.题目反转一个单链表。2.示例输入:1->2->3->4->5->NULL输出:5->4->3->2-&g...原创 2020-02-05 16:14:53 · 241 阅读 · 0 评论 -
C++内存管理
内存管理是C++最令人头痛的问题,也是C++最有争议的地方。C++高手从中获得了更好的性能,更大的自由,C++菜鸟获取的则是一遍一遍的检查代码。而这一切都源于C++内存管理的灵活性,其多样的内存分配方式就是其灵活性的最好例证之一。文章目录栈区堆区自由存储区全局/静态存储区常量存储区堆与栈的区别管理方式空间大小碎片问题生长方向分配方式分配效率总结常见的内存处理规则一个程序要运行,就必须先将可执行...原创 2020-01-29 21:15:14 · 219 阅读 · 1 评论 -
GitHub开源项目推荐
GitHub作为全球最大的同性交友网站,上面有太多大佬分享的开源项目值得我们借鉴和学习。接下来就分享一下我入坑GitHub以来学习或收藏的一些好的开源项目。文章目录1.LeetCodeAnimation2.Crash-Course-Computer-Science-Chinese3.interview4.halo5.awesome-mac6.coding-interview-university...原创 2020-01-11 13:55:25 · 1639 阅读 · 0 评论 -
剑指Offer-快速排序
剑指Offer上的快速排序的Partition函数与我在数据结构书上学到的不一样,因此就想要探索下这两种不同的处理方式。文章目录1.基本思想2.剑指Offer上的Partition实现3.一般教材上的Partition实现4.总结1.基本思想快速排序的基本思想是基于分治法。在待排序表L[1…n]中任取一个元素pivot作为基准,通过一趟排序将待排序表划分为独立的两部分L[1…k-1]和L[...原创 2019-12-14 20:16:47 · 629 阅读 · 2 评论 -
字符串分割SplitString
C/C++中常用的字符串切割函数有strtok、strtok_s与strtok_r。文章目录1.strtok函数2.strtok_s函数3.strtok_r函数4.SplitString实现1.strtok函数char* strtok(char* str, const char* delim);分解字符串str为一组字符串,delim为分隔符。当strtok在參数str的字符串中发现參...原创 2019-11-23 18:53:43 · 610 阅读 · 0 评论 -
小心,自定义拷贝函数
编译器在生成拷贝函数时只是简单地将原对象的每一个Non-static数据成员拷贝到目标对象中,这就是所说的浅拷贝。这个过程简单粗暴,如果类中有动态配置的内存,对象中包含资源,问题就会随之而产生。文章目录1.浅拷贝2.深拷贝3.总结首先,我们需要了解一下浅拷贝与深拷贝可能会产生的问题。1.浅拷贝浅拷贝是成员数据之间的一一赋值,又称为Bitwise Copy。但可能会有这样的情况:如果对象包...原创 2019-11-03 15:38:03 · 564 阅读 · 0 评论 -
区分重载(Overloading)、重写(Overriding)与隐藏(Hiding)
在面向对象(OO)的世界中存在着三个十分容易混淆的概念:重载(Overloading)、重写(Overriding)、隐藏(Hiding)。文章目录1.重载2.重写3.隐藏4.总结1.重载重载是指同一作用域的不同函数使用相同的函数名,但是函数的参数个数或类型不同。重载在C中就已经存在了,正如我们所熟悉的abs函数一样,如下所示:double abs(double); int abs(i...原创 2019-11-03 11:23:35 · 558 阅读 · 0 评论 -
Sublime text3配置C/C++编译环境
安装sublime text3后,一直很喜欢使用它看代码(这个高亮配色真的很好看)。它默认的运行环境就有C/C++,在写了一个hello world!后正常输出,但在使用scanf()作为输入后无法输入,这就很尴尬了。在网上搜了一下,这个问题好像无解,只能自己安装gcc/g++,然后配置一下,通过调用命令窗口解决。这里简单记录一下配置过程。一.准备工作下载sublime text3,并安装...原创 2019-05-18 19:09:33 · 1311 阅读 · 0 评论