![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题
孤独的拉普拉斯
菜鸟级程序员
展开
-
为什么需要基类指针指向派生类对象?
为什么需要基类指针指向派生类对象? 我们知道虚函数可以让我们的类具备多态的功能,你肯定在此会有所疑惑,为什么需要基类指针指向派生类对象?派生类指针自己就能实现的功能,何必用基类指针来多此一举呢?其实这就不得不谈及多态的奥妙了。 假设我们有这样一群动物,鸟类,爬虫类,人类以及鱼类。现在我们想要分别实现每一类动物“走”这一概念, ...原创 2020-09-04 15:33:46 · 1609 阅读 · 2 评论 -
二叉树的前序,中序和后序遍历的递归与迭代代码
前序遍历 递归借助的程序的运行时栈,所以改为迭代时,本质上借助stack去模拟运行时栈。 递归 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Soluti原创 2020-08-06 21:01:49 · 160 阅读 · 0 评论 -
浪潮笔试之搬石头
搬石头排序 题目:沙滩摆放着一排大小不一的球形石头,已知第i个石头的半径为ri,不存在两个石头半径相等。现要求通过移动石头使摆放的石头从左往右半径递增。每次可选择一块石头,并把它放在剩下n-1块石头的最左边或最右边。求最少操作次数。 输入:第一行一个整数n,表示石头个数。(1 <= n <= 100000).第二行n个整数,表示从左往右石头的半径r1,r2,…,rn( 1<= ri <= n)。保证不存在两个不同的石头半径相等。 输出:最少操作次数。 样例输入 6 3 2 1 4 6原创 2020-07-17 13:29:58 · 2836 阅读 · 1 评论