![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++代码实现
Disremembrance
多做点正事。
展开
-
C++ 继承与多态(二)
1、析构函数能不能实现成虚函数? 可以。 在析构函数中调用virtual虚函数,是动态绑定。2、不能在构造函数前加virtual,因为只有通过调用构造函数才有对象。 在构造函数中调用virtual虚函数,不能发生动态绑定。因为动态绑定需要访问对象的前四个字节(即虚函数表的地址),构造函数还没结束的时候对象还没有产生。3、类的静态成员方法,能不能写成虚...原创 2019-05-03 19:16:16 · 276 阅读 · 0 评论 -
LeetCode ---- 二分查找使用C和C++实现
二分查找又叫折半查找,这个查找算法的查找前提必须是数组内值有序。给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在nums中并且下标为 4示例2:...原创 2019-04-28 18:06:09 · 315 阅读 · 0 评论 -
网易内推面试题 ---- 挑选"9706"串
有一天,小明在游戏中获得了一串数字,直觉告诉他这不是一串普通的数字串,或许可以破解一些关于网易的秘密。破解的第一步,他很想知道,在这串数字中,最多可以挑出多少个’9706’串。挑选的规则为:(1)挑出的数字’9’,’7’,’0’,’6’在原串中可以不连续,但是数字的先后顺序不能改变(2)使用过的数字不能被再次使用。如’123901370997606’可以最多挑出2个’9706’,而’607...原创 2019-04-29 21:04:24 · 221 阅读 · 0 评论 -
网易内推面试题 ---- 分苹果问题
n 只奶牛坐在一排,每个奶牛拥有 ai 个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需要移动多少次可以平分苹果,如果方案不存在输出 -1。输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含一个整数 n(1 <= n <= 100),接下来的一行包含 n 个整数 ai(1 &l...原创 2019-04-29 21:17:51 · 412 阅读 · 0 评论 -
LeetCode ---- 合并两个有序链表
这是我刷了这么久LeetCode以来,最让我无语的一道题。合并两个有序链表,题确实不难。写完之后,一直编译不过,出现下面的傻逼问题,合并完之后就是少一个数。分析了两遍,甚至画了整个代码合并过程的图,觉得代码没有什么问题。但还是运行不过,让我真的很难受。实在没办法,就去VS下写了完整的单链表合并,一模一样的代码,VS下面运行出来的结果一点毛病都没有。让我真的有一点怀疑,LeetCode里面的编译...原创 2019-05-19 20:20:48 · 160 阅读 · 0 评论 -
剑指offer ---- 从尾到头打印链表
题目:输入一个链表的头结点,从尾到头反过来打印输出每个节点的值。由于链表的结构它是一个结点指向下一个结点的,所以如果可以改变链表的结构,那么将链表中的各指针反转过来,改变链表的方向,这样输出来的结果也符合题意要求。但是这个相当于给链表先进行了一次反转,再输出。实现比较复杂,因为本身链表的反转就很不好想了。所以在不改变链表结构的情况下,还要实现链表中的数据从尾到头打印,我们可以借助栈来实现。...原创 2019-05-21 19:47:13 · 157 阅读 · 0 评论 -
给我儿子讲的一道递归题!
首先看一下题目要求:写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19 。给这个狗der讲的时候,我真的快要气炸了。首先,他不明白递归什么时候该返回,其次他不明白怎么样累加。那么递归是什么?简单来说,递归就是在自己函数体内继续调用自己,直到某一刻递归到最底层了开始逐层返...原创 2019-05-17 15:17:22 · 256 阅读 · 0 评论 -
并查集、及并查集解决常见朋友圈等问题!
目录一、什么是并查集?二、简单的并查集实现三、利用并查集解决一些问题一、什么是并查集?并查集是一种树型的数据结构,用于处理两个没有交集的集合的合并或者查找问题。由它的名字就可以看出,它的主要操作一是合并,二是查找。初始时,所有的元素都不相交。通过多次的合并,最终会合并成多个集合或者一个大集合。实现并查集一般要借用一个数组来存放每个元素对应的集合特征。主要操作就是合...原创 2019-07-10 16:46:53 · 1171 阅读 · 0 评论 -
位运算解决常见问题--求二进制中1的个数,判断是否是2的次幂等
1、什么是位运算?学计算机的人应该都知道,计算机内部都是以二进制来计算的。那么什么是二进制?我们日常用到的都是十进制,而所谓的十进制就是逢10进1。二进制中只包含0和1,逢2进1。常见的进制还有,八进制,十六进制,二十六进制等。而位运算就是直接在二进制的数字序列上进行按位与,按位或,按位异或,左移,右移这几种操作。由于计算机内部本身就是以二进制在运算,所以位运算相较算数运算符来说,计算起来就...原创 2019-07-17 18:05:01 · 463 阅读 · 0 评论