牛客模拟面试7月19

2023-10-27

说一说常用的 Linux 命令

常用的 Linux 命令有:

命令 说明
cd 切换当前目录
ls 查看当前文件与目录
grep 通常与管道命令一起使用,用于对一些命令的输出进行筛选加工
cp 复制文件或文件夹
mv 移动文件或文件夹
rm 删除文件或文件夹
ps 查看进程情况
kill 向进程发送信号
tar 对文件进行打包
cat 查看文件内容
top 查看操作系统的信息,如进程、CPU占用率、内存信息等(实时)
free 查看内存使用情况
pwd 显示当前工作目录

说一说C++ 中哪些函数不能是虚函数?

普通函数(非成员函数)、构造函数、析构函数、友元函数、静态成员函数、内联成员函数

【参考答案】

标准回答

C++ 中,普通函数(非成员函数)、构造函数、友元函数、静态成员函数、内联成员函数这些不能是虚函数。

  1. 普通函数(非成员函数)

普通函数(非成员函数)只能被重载,不能被重写,所以声明为虚函数也没有意义,编译器编译时就会绑定函数地址。

  1. 构造函数

创建派生类对象时,会调用派生类的构造函数,派生类的构造函数中将会调用基类的一个构造函数,这种顺序不同于继承机制。因此派生类不继承基类的构造函数,所以将构造函数声明为虚函数没有意义。

  1. 友元函数

友元函数不是类成员,而只有成员函数才能是虚函数。

  1. 静态成员函数

静态成员函数对于每个类来说只有一份代码,所有的对象都共享这一份代码,没有动态绑定的必要性。静态成员函数属于一个类而非某一对象,没有this 指针,它无法进行对象的判别。

  1. 内联成员函数

内联函数在编译时被展开,虚函数在运行时才能动态的绑定函数。

说一说STL 中有哪些常见的容器

  1. 顺序容器

容器并非排序的,元素的插入位置同元素的值无关,包含vector、deque、list。

o vector:动态数组

元素在内存连续存放。随机存取任何元素都能在常数时间完成。在尾端增删元素具有较佳的性能。

o deque:双向队列

元素在内存连续存放。随机存取任何元素都能在常数时间完成(仅次于vector )。在两端增删元素具有较佳的性能(大部分情况下是常数时间)。

o list:双向链表

元素在内存不连续存放。在任何位置增删元素都能在常数时间完成。不支持随机存取。

  1. 关联式容器

元素是排序的;插入任何元素,都按相应的排序规则来确定其位置;在查找时具有非常好的性能;通常以平衡二叉树的方式实现,包含set、multiset、map、multimap。

o set/multiset

set中不允许相同元素,multiset 中允许存在相同元素。

o map/multimap

map 与 set 的不同在于 map 中存放的元素有且仅有两个成员变,一个名为 first,另一个名为 second,map 根据 first 值对元素从小到大排序,并可快速地根据 first 来检索元素。map 和multimap 的不同在于是否允许相同 first 值的元素。

  1. 容器适配器

封装了一些基本的容器,使之具备了新的函数功能,包含stack、queue、priority_queue。

o stack:栈

栈是项的有限序列,并满足序列中被删除、检索和修改的项只能是最进插入序列的项(栈顶的项),后进先出。

o queue:队列

插入只可以在尾部进行,删除、检索和修改只允许从头部进行,先进先出。

o priority_queue:优先级队列

内部维持某种有序,然后确保优先级最高的元素总是位于头部,最高优先级元素总是第一个出列。

给定一个长度为 的无序数组 ,包含正数、负数和 0 ,请从中找出 3 个数,使得乘积最大,返回这个乘积。 要求时间复杂度: ,空间复杂度: 。

long long solve(int* A, int ALen) {
        // write code here
        int min1 = INT_MAX, min2 = INT_MAX;
        // 最大的、第二大的和第三大的
        int max1 = INT_MIN, max2 = INT_MIN, max3 = INT_MIN;

        for (int i=0;i<ALen;i++) {
            if (A[i] < min1) {
                min2 = min1;
                min1 = A[i];
            } else if (A[i] < min2) {
                min2 = A[i];
            }

            if (A[i] > max1) {
                max3 = max2;
                max2 = max1;
                max1 = A[i];
            } else if (A[i] > max2) {
                max3 = max2;
                max2 = A[i];
            } else if (A[i] > max3) {
                max3 = A[i];
            }
        }

        return max((long long)min1 * min2 * max1,(long long) max1 * max2 * max3);

    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

牛客模拟面试7月19 的相关文章

  • 基于Django Template模式实现简单的注册、登录,表单提交

    最近在做一个简单的django项目 需求是能实现注册 登录 并且有一个提交评论 展示评论的功能 django做web项目是非常适合 前期熟悉对应的配置 熟悉框架结构 按照既定的模式进行二次开发即可完成一个完整的系统 项目目录结构如下 1 核
  • GPT4的1000+篇文章总结

    GPT4的1000 篇文章总结 本文收集和总结了有关GPT4的1000 篇文章 由于篇幅有限只能总结近期的内容 想了解更多内容可以访问 http www ai2news com 其分享了有关AI的论文 文章 图书 query 恐怖的GPT4

随机推荐

  • 页面触底自动加载 Vue 组件

    不管是 web 端还是移动端 信息流都是现在很流行的信息展示方式 信息流经常搭配自动加载一起使用以获得更好的使用体验 最近在使用 Vue 开发过程中也遇到了首页信息流自动加载的需求 大致了解了一下几个滚动自动加载组件 发现多数都是把内容放在
  • 如何理解jquery的$(".span").eq(0) 和 $(”.span“)[0]

    span class span 1 span span class span 2 span span class span 3 span span class span 4 span span 选择了4个span 都是jquery对象 可以
  • 第一章:走进scratch3.0

    第一章 Scratch中国 想象 创作 编程 分享 scratch cn cn 离线版桌面版下载 exe结尾是 windows版 dmg是 macOS 苹果 版 点击下方链接下载 链接 https pan baidu com s 1wwrK
  • ALtium 16等长布线、差分布线

    等长布线 1 先布好线 2 定义一个class design classes 下图右键net classes add classes 之后定义这个class的名字 例如dc 选择要等长的网络加入这个dc 之后close即可 3 tools
  • 毕业设计-基于机器学习的股票预测

    目录 前言 课题背景和意义 实现技术思路 一 传统股票预测模型 二 新型股票预测方法 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校
  • ImportError: No module named psutil的解决

    系统版本 cat etc redhat release CentOS release 6 9 Final 跑python脚本的时候报错ImportError No module named psutil 于是想要用pip来安装 但是发现pi
  • 关于source中的TARGETLIBS和SOURCELIBS的区别

    摘自 http topic csdn net u 20090403 11 897684cc 3eca 40f4 90d7 88e501669efe html 转自微软MVP作者 ARM WinCE 1 Dirs文件 关于Dirs文件 就是指
  • Win10 环境配置 Github SSH Key

    使用 Git 关联远程仓库通常可以使用 HTTP 协议或者 SSH 协议 在使用上 SSH 只需要一次配置 之后提交操作都不需要进行用户密码验证 但是 HTTP 方式每次 Push 操作都需要验证用户名和密码 当然 HTTP 方式更方便开源
  • 互联网摸鱼日报(2023-09-13)

    互联网摸鱼日报 2023 09 13 36氪新闻 节能减排 科技降碳 上海打造绿色商场的N种实践 36氪独家 美团管理层迎来重大变化 5位业务负责人晋升为副总裁 险资牵手上市公司狂出手 800亿给了谁 没空旅行的年轻人 开始互换特产 国产手
  • 手把手教你用python一键抢12306火车票(附代码)

    哈喽 哈喽 一年一度的抢火车票大战正式拉开序幕 然饿大多数人碰到的是这种情况 当你满心期待摩拳擦掌准备抢票的时候 你会发现一票难求 想回趟家真难 那么作为程序猿的你 当然要用程序猿的方式来抢票 下面分享用python来抢票 欢迎关注公众号
  • 电脑照片,怎么把电脑照片传到iphone手机 将电脑照片传到iphone方法【图文】

    使用苹果设备的人一定知道苹果自带的iOS系统是不可以随便进行数据的交换的 必须使用iTunes软件进行传输 但是让一些对不懂苹果设备的人带来了很多困扰 电脑当中的图片如何传输到苹果设备当中呢 下面我们就一起来看看怎么把电脑照片传到iphon
  • ZOJ 1610 Count the Colors

    Problem acm zju edu cn onlinejudge showProblem do problemCode 1610 Reference blog csdn net shuangde800 article details 8
  • 单元二:全桥MOS/IGBT电路(后端全桥电路的搭建)

    本篇博客是全桥MOS IGBT电路搭建的介绍 想了解全桥电路的驱动部分请看博主的单元一 全桥驱动电路详解 感兴趣的可以添加博主QQ 2859340499 B站对应讲解本文链接 逆变电路 Inverter Circuit 是与整流电路 Rec
  • 华为荣耀七能升级鸿蒙系统吗,华为鸿蒙系统来了,你知道哪些华为手机荣耀手机可以升级吗?...

    从鸿蒙系统第一次开始登场 到现在慢慢有许多鸿蒙系统设备出现 手机市场的格局似乎又要升级变化了 科技树儿了解到 在某数码博主经过和相关人员的沟通核实之后 目前暂定的是搭载华为麒麟710芯片以上的机型 无论华为或荣耀 都会升级华为鸿蒙Harmo
  • 深入理解Java比较器(Comparable和Comparator)

    深入理解Java比较器 Comparable和Comparator 文章目录 深入理解Java比较器 Comparable和Comparator 一 Comparable 1 Comparable 接口定义 二 Comparator 比较器
  • 6.11行为型---解释器模式

    在软件开发中 会遇到有些问题多次重复出现 而且有一定的相似性和规律性 如果将它们归纳成一种简单的语言 那么这些问题实例将是该语言的一些句子 这样就可以用 编译原理 中的解释器模式来实现了 虽然使用解释器模式的实例不是很多 但对于满足以上特点
  • vue实现导出excel,pdf功能

    实现导出excel pdf功能 注 代码中res就是后端返回的是文件流 前端使用a标签实现导出excel pdf 导出pdf跟excel的区别在于new blob对象时的type类型不同 下面代码是固定写法 可以直接使用 亲测有用哦 导出p
  • 【面试题】: bs架构与cs架构的区别以及各自优缺点

    一 前言 bs架构 Browser Server Architecture 和cs架构 Client Server Architecture 是常见的软件系统架构 bs架构是一种基于Web浏览器和Web服务器互联的架构 而cs架构则是一种由
  • 【VUE】npm install报错“found * vulnerabilities( * high), run npm audit fix, or npm audit”相关问题的解决

    前言 一个vue2的项目 从mac上传到gitee 然后windows clone之后npm install报错 原因 核心问题是node版本问题 windows11下载了node v16 然后版本过高导致各种无法resolve 需要降级为
  • 牛客模拟面试7月19

    说一说常用的 Linux 命令 常用的 Linux 命令有 命令 说明 cd 切换当前目录 ls 查看当前文件与目录 grep 通常与管道命令一起使用 用于对一些命令的输出进行筛选加工 cp 复制文件或文件夹 mv 移动文件或文件夹 rm