C++ 面试问题集合

文章目录

  • 设计模式
    • 单例
  • 排序算法
  • 查找算法
    • 二分查找

设计模式

单例

#include <iostream>
#include <string>
#include <memory>
#include <mutex>
#include <thread>using namespace std;class SingleTon{
protected://外部不可直接操作SingleTon(const string& value):_value(value) {cout<< "SingleTon Construct" <<endl;}~SingleTon() {cout<< "SingleTon Destruct" <<endl;}//静态成员   全局访问  智能指针   自动释放static  shared_ptr<SingleTon> singleton;string _value;public://禁止外部移动和拷贝SingleTon(const SingleTon && obj) = delete;void operator=(const SingleTon  obj) = delete;//提供静态接口  类名调用static shared_ptr<SingleTon> getInstance(const string& value){//call once 调用static once_flag s_flag;call_once(s_flag , [&](){ singleton = shared_ptr<SingleTon>(new SingleTon(value), [](SingleTon * singleton){ delete singleton;});});return singleton;}string pinrtValue(){return _value;}
};//变量重置
shared_ptr<SingleTon> SingleTon::singleton = nullptr;void printValue(const string & value){cout<< SingleTon::getInstance(value)->pinrtValue()<<endl;
}int main(){thread th1(printValue,"aaa");thread th2(printValue,"bbb");th1.join();th2.join();return 0;
}

排序算法

查找算法

二分查找

#include <iostream>
#include <vector>using namespace std;using Rank = int;class Fib{
private:Rank g ,f;public:Fib(Rank n){f =0; g= 1;  //f 代表 fib(k -1)  g 代表 fib(k)while(0 < n--){g = g + f;f = g - f;}}Rank get(){return g;}Rank next(){g = g + f;f = g -f;return g;};Rank pre(){f = g-f;g = g-f;return g;}
};template < typename T>
static Rank fibSearch(T *A,const T &e,Rank lo,Rank hi){for(Fib fib(hi - lo) ; lo < hi;){while( hi -lo < fib.get()) fib.pre();Rank mi = lo + fib.get() -1;(e < A[mi]) ? hi = mi : lo = mi + 1;}return lo - 1;
}int main(){std::vector<Rank> test{1,3,6,8,9,11,13,17,20} ;Rank index = fibSearch<Rank>(test.data(),14,0,test.size());cout << "index: " << index <<endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/60208.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高级AI记录笔记(二)

学习位置 B站位置&#xff1a;红豆丨泥 UE AI 教程原作者Youtube位置&#xff1a;https://youtu.be/-t3PbGRazKg?siRVoaBr4476k88gct素材自备 提前将动画素材准备好 枪的武器插槽位置调整好 动画蓝图基本没什么变化 准备武器 在AI的接口蓝图中添加两个函数一个是装备武…

小型kv数据库rocksdb配合grpc实现网络访问

rocksdb相对来说比leveldb多了许多特性&#xff0c;但是对使用来说比levedb高了一大截。 rocksdb的代码在编译时需要有rocksdb服务端环境才能编译&#xff0c;windows上需要先下载vs2019编译dll后才能开始写代码。 这里不考虑windows了&#xff0c;直接使用docker环境来用 一…

汽车共享管理:SpringBoot技术的最佳实践

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了共享汽车管理系统的开发全过程。通过分析共享汽车管理系统管理的不足&#xff0c;创建了一个计算机管理共享汽车管理系统的方案。文章介绍了共享汽车管理系统的系…

从0开始学PHP面向对象内容之(常用魔术方法)

一、什么是魔术方法 PHP中的魔术方法是以__两个下划线开头的方法&#xff0c;这些方法提供了一种机制&#xff0c;可以在类的生命周期中拦截某些事件或者进行一些操作 二、魔术方法有哪些 一、__construct()&&__destruct() __construct()构造函数&#xff0c;__des…

蔚来Android面试题及参考答案(3万字长文)

说一说 MVP 架构,MVVM 架构 MVP(Model - View - Presenter)架构: Model:它主要负责数据的获取和存储,例如从数据库、网络或者其他数据源获取数据。模型层是独立于视图层的,它不关心数据是如何展示的,只专注于数据本身的操作。比如一个新闻类应用,模型层就负责从服务器…

PNG图片批量压缩exe工具+功能纯净+不改变原始尺寸

小编最近有一篇png图片要批量压缩&#xff0c;大小都在5MB之上&#xff0c;在网上找了半天要么就是有广告&#xff0c;要么就是有毒&#xff0c;要么就是功能复杂&#xff0c;整的我心烦意乱。 于是我自己用python写了一个纯净工具&#xff0c;只能压缩png图片&#xff0c;没任…

【论文阅读】小样本学习相关研究

相关文献 Generalizing from a Few Examples: A Survey on Few-Shot Learning Author: YAQING WANG、QUANMING YAO、JAMES T. KWOK、LIONEL M. NIAbstract: Artificial intelligence succeeds in data-intensive applications, but it lacks the ability of learning from a …

【架构论文-1】面向服务架构(SOA)

【摘要】 本文以我参加公司的“生产线数字孪生”项目为例&#xff0c;论述了“面向服务架构设计及其应用”。该项目的目标是构建某车企的数字孪生平台&#xff0c;在虚拟场景中能够仿真还原真实产线的动作和节拍&#xff0c;实现虚实联动&#xff0c;从而提前规避问题&#xff…

常见的排序算法及分类对比

虽然在竞赛和编程语言中用到的排序算法主要是时间复杂度为 O ( n log ⁡ n ) O(n \log n) O(nlogn) 的高效算法,但作为算法学习,我们要从简单到复杂,认识常见的排序算法,并理解其算法思想。本文列出几乎所有的排序算法并进行分类对比。 排序算法总表 以下是一个对比表格…

Kafka-broker处理producer请求-leader篇

一、上下文 《Kafka-生产者源码分析》博客中我们了解了Kafka是如何生产数据的&#xff0c;《Kafka-broker粗粒度启动流程》博客中我们了解了KafkaApis中有各种api和对应处理逻辑&#xff0c;其中PRODUCE请求对应了处理produce请求的逻辑&#xff0c;下面我们跟着源码来看下处理…

mysql占用内存过大问题排查

如果 MySQL 占用内存过高&#xff0c;可以按照以下步骤进行排查&#xff1a; 一、检查 MySQL 配置参数 查看 innodb_buffer_pool_size&#xff1a; 这个参数决定了 InnoDB 存储引擎缓冲池的大小&#xff0c;它会占用大量内存。如果设置得过大&#xff0c;可能导致内存占用过高…

pulsar bookies 磁盘资源无法释放问题排查

查询bookie节点状态 bin/bookkeeper shell bookieinfo 报错如下&#xff1a; Error during flush Nov 11 16:03:05 pulsar-192-0-20-118 pulsar[10500]: java.io.IOException: java.lang.RuntimeException: java.io.FileNotFoundException: /data/bookkeeper/ledgers/current/6…

4-1-2.C# 数据容器 - List 扩展(List 注意事项、List 存储对象的特性、List 与数组的转换)

List 概述 List<T> 存储的元素是有序的 List<T> 存储的元素是可重复的 List<T> 支持泛型&#xff0c;可以指定存储的元素的类型 List<T> 支持索引&#xff0c;可以通过索引获取或修改元素 List<T> 支持动态大小&#xff08;有扩容机制&#…

代码随想录算法训练营第四十三天|Day43 动态规划

300.最长递增子序列 视频讲解&#xff1a;https://www.bilibili.com/video/BV1ng411J7xP https://programmercarl.com/0300.%E6%9C%80%E9%95%BF%E4%B8%8A%E5%8D%87%E5%AD%90%E5%BA%8F%E5%88%97.html 思路 #define max(a, b) ((a) > (b) ? (a) : (b)) int lengthOfLIS(int*…

Axure网络短剧APP端原型图,竖屏微剧视频模版40页

作品概况 页面数量&#xff1a;共 40 页 使用软件&#xff1a;Axure RP 9 及以上&#xff0c;非软件无源码 适用领域&#xff1a;短剧、微短剧、竖屏视频 作品特色 本作品为网络短剧APP的Axure原型设计图&#xff0c;定位属于免费短剧软件&#xff0c;类似红果短剧、河马剧场…

【LeetCode】【算法】560. 和为 K 的子数组

LeetCode 560. 和为 K 的子数组 题目描述 给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 思路 思路&#xff1a;前缀和 定义数组preSum[nums.length1]&#xff0c;在里面计算nums…

【Spring】本地事务

一、事务的基本性质 原子性&#xff1a;一系列操作整体不可拆分&#xff0c;要么同时成功&#xff0c;要么同时失败。&#xff08;下订单、减库存、减积分&#xff09;一致性&#xff1a;数据在事务的前后&#xff0c;业务整体一致。&#xff08;存取钱的总数量&#xff09;隔…

从零开始的 Hugging Face 项目:我的首个在线 SQL 查询工具之旅20241111

从零开始的 Hugging Face 项目&#xff1a;我的首个在线 SQL 查询工具之旅 作为一名 AI 初学者&#xff0c;我最近完成了一个意义非凡的项目&#xff1a;在 Hugging Face Spaces 上构建了一个简单却实用的在线 SQL 查询工具。这个项目不仅让我了解了 Hugging Face 平台的核心功…

Windows,虚拟机Ubuntu和开发板三者之间的NFS服务器搭建

Windows,虚拟机Ubuntu和开发板三者之间的NFS服务器搭建 &#xff08;1&#xff09;虚拟机 ubuntu 要使用桥接模式&#xff0c;不能使用其他模式 &#xff08;2&#xff09;通过网线将PC和开发板网口直连:这样的连接&#xff0c;开发板是无法连接外网的 &#xff08;3&#xff…

C语言第十一周课——函数的调用

目录 一、冒泡法排序 二、二分法查找 一、冒泡法排序 通过调用函数来实现冒泡法 #include<stdio.h> // 定义数组长度 #define SIZE 3 void bubbleSort(int arr[], int n);int main() {int arr[SIZE];int i;// 从控制台输入数字到数组printf("请输入%d个整数&#x…