笔试面试相关记录(5)
(1)不包含重复字符的最长子串的长度
#include <iostream>
#include <string>
#include <map>using namespace std;int getMaxLength(string& s) {int len = s.size();map<char, int> mp;int max_len = 0;int left = 0;int i = 0;while (i < len) {if (mp[s[i]] > 0) {max_len = max(max_len, i-left);while (mp[s[i]] > 0) {mp[s[left]]--;left++;}} mp[s[i]]++;i++;}max_len = max(max_len, i-left);return max_len;
}int main() {string str;while(cin >> str) {cout << getMaxLength(str) << endl;}return 0;
}
(2)小米基站问题,基站数组中,每个基站的x,y,q分别表示基站的坐标x和y,以及信号q,radius表示手机可以接收信号的范围,当手机距离基站的距离小于radius时,基站的信号为floor(q/(1+d)),求出一个信号最强的位置,如果有多个位置,按照字典序取第一个。
#include <iostream>
#include <vector>
#include <string>
#include <math.h>using namespace std;double distance(int x1, int y1, int x2, int y2) {return sqrt(pow(x1-x2, 2) + pow(y1-y2, 2));
}int main() {string str;std::getline(std::cin, str);int t = 0, n, radius;for (long unsigned i = 0; i < str.size(); i++) {if (isdigit(str[i])) {t = t*10 + (str[i]-'0');} else {n = t;t = 0;}}radius = t;int x, y, q;int min_x = 1e8, min_y = 1e8, max_x = 0, max_y = 0;vector<vector<int>> vec;for (int i = 0; i < n; i++) {scanf("%d,%d,%d", &x, &y, &q);vec.push_back({x,y,q});min_x = min(x, min_x);min_y = min(y, min_y);max_x = max(x, max_x);max_y = max(y, max_y);}vector<vector<int>> grid(max_x+1, vector<int>(max_y+1, 0));int max_q = 0, ans_x = 1e8, ans_y = 1e8;for (int i = 0; i < n; i++) {int n_x = vec[i][0], n_y = vec[i][1], q = vec[i][2];for (int j = -radius; j <= radius; j++) {for (int k = -radius; k <= radius; k++) {int new_x = n_x + j, new_y = n_y + k;double dis = distance(new_x, new_y, n_x, n_y);if (new_x >= 0 && new_y >= 0 && new_x <= max_x && new_y <= max_y && dis < radius) {grid[new_x][new_y] += floor(q/(1+dis));if (grid[new_x][new_y] > max_q) {max_q = grid[new_x][new_y];ans_x = new_x;ans_y = new_y;} else if (grid[new_x][new_y] == max_q && (new_x < ans_x || (new_x == ans_x && new_y < ans_y))) {ans_x = new_x;ans_y = new_y;}}}}}cout << ans_x << "," << ans_y << endl;}
(3)是一个拓扑排序问题,
输入n,表示n个任务
输入1:0,0:1表示任务1依赖任务0,任务0依赖任务1,问这个任务能不能完成?可以完成输出1,否则输出0;
#include <iostream>
#include <string>
#include <vector>
#include <queue>
using namespace std;int main() {int n;string str;while (cin >> n) {cin >> str;int t = 0;int a = 0, b = 0;int max_a = 0, max_b = 0;vector<vector<int>> vec;for (long unsigned i = 0; i < str.size(); i++) {if (isdigit(str[i])) {t = t*10 + (str[i]-'0');} else if (str[i] == ':') {a = t;t = 0;} else if (str[i] == ',') {max_a = max(max_a, a);max_b = max(max_b, t);vec.push_back({a, t});t = 0;}}max_a = max(max_a, a);max_b = max(max_b, t);vec.push_back({a, t});vector<vector<int>> grid(max_a+1, vector<int>(max_b+1, 0));for (int i = 0; i < n; i++) {grid[vec[i][0]][vec[i][1]] = 1;}queue<int> q;vector<int> dege(n, 0);for (int i = 0; i < n; i++) {int count = 0;for (int j = 0; j < n; j++) {if (grid[i][j] = 1) {count++;}}dege[i] = count;if (count == 0) {q.push(i);}}while (q.size()) {int node = q.front();q.pop();for (int i = 0; i < n; i++) {if (grid[i][node] == 1) {grid[i][node] = 0;dege[i]--;if (dege[i] == 0) {q.push(i);}}}}bool flag = false;for (int i = 0; i < n; i++) {if (dege[i]) {flag = true;break;}}if (flag) {cout << 0 << endl;} else {cout << 1 << endl;}}return 0;
}
(4)一个数组,表示每个工人的工作能力,现有一个工作需要ceil(n/2.0)个工人去完成,并且要求这些工人的工作能力之和大于等于target,求有多少种安排工人的方法。
输入
1(测试组数)
5 10(n,target)
3 2 3 4 5
输出7
#include <iostream>
#include <vector>
#include <set>
#include <math.h>
#include <string>
using namespace std;void backtrace(vector<int>& nums, int sum, long unsigned path, int& ans, long unsigned start, long unsigned worker_num, int target, string str, set<string>& set_str) {if (path == worker_num && sum >= target && set_str.find(str) == set_str.end()) {ans++;set_str.insert(str);return;}if (start >= nums.size() || path > worker_num) return;int len = nums.size();// 这个语句放在for循环外面,用于记录上次的结果,不放入for循环中string t = str;for (long unsigned i = start; i < len; i++) {// 这里一个错误导致弄了半天也没有弄出来,if (path == 0) str = to_string(i);// 下面的代码之前写的是str = str + "-" + to_string(i);这样写是有错误的// 因为每次选或者不选,是从上一次的结果后面进行添加的,如果这里使用了str = str + "-" + to_string(i);// 就会导致str在for循环中会被修改。else str = t + "-" + to_string(i);// 如果当前位置选择,则在上一次的结果上加上这次的数字backtrace(nums, sum+nums[i], path+1, ans, i+1, worker_num, target, str, set_str);// 当前位置不选择backtrace(nums, sum, path, ans, i+1, worker_num, target, t, set_str);}
}int main() {int T;while (cin >> T) {for (int times = 0; times < T; times++) {int n, target;cin >> n >> target;vector<int> nums(n, 0);int t;for (int i = 0; i < n; i++) {cin >> t;nums[i] = t;}long unsigned path = 0;// 如果使用ceil函数,记得要将其变成float或者double形式,如果是整数,就会出错。long unsigned worker_num = (n%2==1)?(n+1)/2:(n/2);string str = "";int ans = 0;set<string> set_str;backtrace(nums, 0, path, ans, 0, worker_num, target, str, set_str); cout << ans << endl;}}return 0;
}
(5)
#include <iostream>
using namespace std; void func(int a, int b, int c) {c = a*b;
}int main()
{int c;int a = 3, b = 3;func(a, b, c);cout << c << endl;printf("%d", c);return 0;
}
输出随机数,不是输出0
(6)
#include <iostream>
using namespace std; class T {
public:T() {cout << "T()" << endl;}};
int main()
{T* p = new T[3];return 0;
}
输出
T()
T()
T()
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
笔试面试相关记录(5)
(1)不包含重复字符的最长子串的长度 #include <iostream> #include <string> #include <map>using namespace std;int getMaxLength(string& s) {int len s.size();map<char, int> mp;int max_len 0;int left 0;int i …...
![](https://img-blog.csdnimg.cn/dd9496cd814944da973e685e3fa3a098.png)
四、C#—变量,表达式,运算符(2)
🌻🌻 目录 一、表达式1.1 什么是表达式1.2 表达式的基本组成 二、运算符2.1 算术运算符2.1.1 使用 / 运算符时的注意事项2.1.2 使用%运算符时的注意事项 2.2 赋值运算符2.2.1 简单赋值运算符2.2.2 复合赋值运算符 2.3 关系运算符2.4 逻辑运算符2.4.1 逻辑…...
![](https://img-blog.csdnimg.cn/fc505aa2036649b480e0f2fb29ab20dc.png)
【WSN】基于蚁群算法的WSN路由协议(最短路径)消耗节点能量研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
![](https://img-blog.csdnimg.cn/d033addc6d5141caa0c29fd27fcd9e7b.png)
JVM的内存分配及垃圾回收
内存分配 在了解Java的内存管理前,需要知道JVM中的内存分配。 栈 存储局部变量。在方法的定义中或在方法中声明的变量为局部变量;栈内存中的数据在该方法结束(返回或抛出异常或方法体运行到最后)时自动释放栈中存放的数据结构为…...
![](https://img-blog.csdnimg.cn/be07141ff27846fdbf95f511415f25c2.png)
Python实现查询一个文件中的pdf文件中的关键字
要求,查询一个文件中的pdf文件中的关键字,输出关键字所在PDF文件的文件名及对应的页数。 import os import PyPDF2def search_pdf_files(folder_path, keywords):# 初始化结果字典,以关键字为键,值为包含关键字的页面和文件名列表…...
![](https://img-blog.csdnimg.cn/5cc7ca0c73484e46996a33644b633746.png)
【计算机网络笔记一】网络体系结构
IP和路由器概念 两台主机如何通信呢? 首先,主机的每个网卡都有一个全球唯一地址,MAC 地址,如 00:10:5A:70:33:61 查看 MAC 地址: windows: ipconfig / alllinux:ifconfig 或者 ip addr 同一个网络的多…...
![](https://img-blog.csdnimg.cn/3f22505a843e4dad8f8dd442f28132e3.png)
硕士应聘大专老师
招聘信息 当地人社局、学校(官方) 公众号(推荐): 辅导员招聘 厦门人才就业信息平台 高校人才网V 公告出完没多久就要考试面试,提前联系当地院校,问是否招人。 校招南方某些学校会直接去招老师。…...
![](https://www.ngui.cc/images/no-images.jpg)
Gram矩阵
Gram矩阵如何计算 Gram 矩阵是由一组向量的内积构成的矩阵。如果你有一组向量 v 1 , v 2 , … , v n v_1, v_2, \ldots, v_n v1,v2,…,vn,Gram 矩阵 G G G 的元素 G i j G_{ij} Gij 就是向量 v i v_i vi 和向量 v j v_j vj 的内积。数学上&#x…...
![](https://img-blog.csdnimg.cn/969d0f7e690f4925a1991ab574023921.png)
【数据结构】七大排序算法详解
目录 ♫什么是排序 ♪排序的概念 ♪排序的稳定性 ♪排序的分类 ♪常见的排序算法 ♫直接插入排序 ♪基本思想 ♪算法实现 ♪算法稳定性 ♪时间复杂度 ♪空间复杂度 ♫希尔排序 ♪基本思想 ♪算法实现 ♪算法稳定性 ♪时间复杂度 ♪空间复杂度 ♫直接选择排序 ♪基本思想 ♪算法…...
![](https://www.ngui.cc/images/no-images.jpg)
OpenCV之VideoCapture
VideoCaptrue类对视频进行读取操作以及调用摄像头。 头文件: #include <opencv2/video.hpp> 主要函数如下: 构造函数 C: VideoCapture::VideoCapture(); C: VideoCapture::VideoCapture(const string& filename); C: VideoCapture::Video…...
![](https://www.ngui.cc/images/no-images.jpg)
ESP32微控制器与open62541库: 详细指南实现OPC UA通信协议_C语言实例
1. 引言 在现代工业自动化和物联网应用中,通信协议起着至关重要的作用。OPC UA(开放平台通信统一架构)是一个开放的、跨平台的通信协议,被广泛应用于工业4.0和物联网项目中。本文将详细介绍如何在ESP32微控制器上使用C语言和open…...
![](https://img-blog.csdnimg.cn/b1849c22fa1e454eb3f60a9ff31777ed.png)
怎样快速打开github.com
访问这个网站很慢是因为有DNS污染,被一些别有用心的人搞了鬼了, 可以使用火狐浏览器开启火狐浏览器的远程dns解析就可以了.我试了一下好像单独这个办法不一定有用,要结合修改hosts文件方法,双重保障 好像就可以了...
![](https://img-blog.csdnimg.cn/6d970f53dae9464399ce0fe79c5ff3d6.png)
【C#】.Net基础语法二
目录 一、字符串(String) 【1.1】字符串创建和使用 【1.2】字符串其他方法 【1.3】字符串格式化的扩展方法 【1.4】字符串空值和空对象比较 【1.5】字符串中的转移字符 【1.6】大写的String和小写的string 【1.7】StringBuilder类的重要性 二、数组(Array) 【2.1】声…...
![](https://img-blog.csdnimg.cn/20190106163945739.jpg#pic_center)
C++之this指针总结(二百二十)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…...
![](https://img-blog.csdnimg.cn/97cbb12c1b03434ebf11b9b55032aa49.png#pic_center)
C++——如何正确的使用STL中的vector?
什么是vector? 在STL(标准模板库)中,vector是一种动态数组容器,可根据需要自动增长或缩小。它可以存储任意类型的元素,并且支持快速的随机访问。 vector是表示可变大小数组的序列容器vector采用的是连续的…...
![](https://img-blog.csdnimg.cn/9d17ac45598f42bdafd83eb6fe326df5.png)
【C语言】模拟实现内存函数
本篇文章目录 相关文章1. 模拟 memcpy 内存拷贝2. 模拟 memmove 内存移动 相关文章 【C语言】数据在内存中是以什么顺序存储的?【C语言】整数在内存中如何存储?又是如何进行计算使用的?【C语言】利用void*进行泛型编程【C语言】4.指针类型部…...
![](https://img-blog.csdnimg.cn/544b2275b77a458ebea5708d9240d8b1.png)
Jenkins学习笔记3
gitgithubjenkins: 架构图: 说明:jenkins知道github有更新了,就pull进行构建build,编译、自动化测试。然后部署到应用服务器。 maven java的项目构建工具。 在开发者电脑上创建空密码密钥对。 [rootgit-developer ~…...
![](https://img-blog.csdnimg.cn/629a5ca6385e454389e4ce2dd249c9bf.jpeg#pic_center)
基于单片机火灾报警器仿真设计
一、系统方案 1、本设计采用51单片机作为主控器。 2、DS18B20采集温度值送到液晶1602显示。 3、MQ2采集烟雾值,送到液晶1602显示。 4、按键设置温度报警值,大于报警值,声光报警。 二、硬件设计 原理图如下: 三、单片机软件设计…...
![](https://img-blog.csdnimg.cn/68a7b510cdf94d8793b0883c5df6824b.jpeg)
阿里测开面试大全(一)附答案完整版
万字长文,建议收藏 1 什么是POM,为什么要使用它? POM是Page Object Model的简称,它是一种设计思想,而不是框架。大概的意思是,把一个一个页面,当做一个对象,页面的元素和元素之间操…...
![](https://img-blog.csdnimg.cn/img_convert/92fefe765d347742fe1e88298d2fd5b8.png)
STL-常用容器
string容器 string构造函数 string本质:类 string和char*区别: char* 是一个指针 string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。 特点: string类内部封装了很多成员方法 …...
![](https://www.ngui.cc/images/no-images.jpg)
【owt】关闭microk8s 等无关服务
打算部署下owt,发现之前跑了microk8s ,一直运行:操作指令 // 1. 启动 microk8s.start// 2. 关闭 microk8s.stop// 3. kubectl 操作 // --- 查看 cluster microk8s.kubectl cluster-info// --- 查看 nodes microk8s.kubectl get nodes// --- 查看 pods microk8s.kubectl get …...
![](https://img-blog.csdnimg.cn/c3318091f9ec49f294ddb7c91d66ec94.png)
【面试题】——Spring
1.Spring是什么? Spring是一个开源的Java应用框架,它提供了广泛的基础设施支持,用于构建Java应用程序。极大提高了开发效率。它提供了一种轻量级的编程模型,通过依赖注入(Dependency Injection)和面向切面…...
![](https://img-blog.csdnimg.cn/img_convert/a08571f736dc04b5bef51cd09e8e3a0a.gif#pic_center)
【算法思想-排序】根据另一个数组次序排序 - 力扣 1122 题
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…...
![](https://img-blog.csdnimg.cn/845290a9b8af413baa5d3d1614073270.png)
毕业设计|基于stm32单片机的app视频遥控抽水灭火小车设计
基于stm32单片机的app视频遥控抽水灭火水泵小车设计 1、项目简介1.1 系统构成1.2 系统功能 2、部分电路设计2.1 L298N电机驱动电路设计2.2 继电器控制电路设计 3、部分代码展示3.1 小车控制代码3.1 水泵控制代码 4 演示视频及代码资料获取 1、项目简介 视频简介中包含资料http…...
![](https://www.ngui.cc/images/no-images.jpg)
编译原生安卓aosp源码,实现硬改以及定位
系列文章目录 第一章 安卓aosp源码编译环境搭建 第二章 手机硬件参数介绍和校验算法 第三章 修改安卓aosp代码更改硬件参数 第四章 编译定制rom并刷机实现硬改(一) 第五章 编译定制rom并刷机实现硬改(二) 第六章 不root不magisk不xposed lsposed frida原生修改定位 第七章 安卓…...
![](https://www.ngui.cc/images/no-images.jpg)
找单身狗。一个数组中只有两个数字出现一次,其他数字出现了两次,编写一个函数找出这两个只出现一次的数字
例:在{1 2 3 4 5 6 1 2 3 4}找出5和6 方法二: 设计思想: 1.分组原理 (1)将所有数字进行异或,相同数字异或为零,所以只会剩5^6,即为异或的结果xor_result (…...
![](https://www.ngui.cc/images/no-images.jpg)
Java数据结构技巧
Java数据结构技巧 1、循环 for-each循环如果不是"[]"的数组类型,则需要提前判断数据结构是否为空,否则有可能会有空指针异常。 2、对于List对象的i到j位进行排序 for(List<String> now_result:result){List<String> sublist …...
![](https://www.ngui.cc/images/no-images.jpg)
easyui disabled 属性设置
1.设置disabled $("#id").attr("disabled",true); 或 $("#id").attr("disabled","随意字符"); easyui写法 $("#id").numberbox("textbox").attr("disabled", true); $("#id")…...
![](https://img-blog.csdnimg.cn/25f58edc04ae46759f77d3fba63e5c27.png)
使用容器运行Nginx应用及Docker命令
目录 一、使用容器运行Nginx应用 1.1 使用docker run命令运行Nginx应用 1.1.1 观察下载容器镜像过程 1.1.2 观察容器运行情况 编辑 1.2 访问容器中运行的Nginx服务 1.2.1 确认容器IP地址 1.2.2 容器网络说明 1.2.3 在主机中使用curl命令容器IP地址访问 二、Docker命…...
![](https://www.ngui.cc/images/no-images.jpg)
fastapi 基本介绍+使用
FastAPI是一个基于Python 3.6的现代、快速(高性能)的web框架,它使用Starlette作为其底层Web框架。FastAPI有很好的文档和丰富的功能,包括自动为路由生成API文档、查询参数验证、依赖注入、WebSocket等等。 以下是一个FastAPI的基…...
![](https://images.cnblogs.com/cnblogs_com/vilylei/pa_002.jpg)
网站建设方案书 文库/bt磁力兔子引擎
有时候你得到的图片不是透明的png而是加了黑背景的图(可能是:.jpg,.gif,.png等格式的图) 例如一个粒子效果的图: 多好的粒子效果,可惜它有黑背景。不处理一下,不好用。 经过移除黑背景处理为png后,变为: 这时候这个效果图片就可以方便的使用了…...
![](/images/no-images.jpg)
乌兰察布网站制作/教育培训平台
学习资料:ASN.1编码规则详解 一.简介 ASN.1(Abstract Syntax Notation dotone),抽象语法标记1。是定义抽象数据类型形式的标准,是用于描述数据表示、表示、传输、编码的记法。 ASN.1只包含信息结构,不处理具体业务数据,它不是一个编程语言…...
![](/images/no-images.jpg)
wordpress 主题js/搜索引擎大全排行榜
js受制于单个页面,用ifream框架做web系统,会遇到角色切换菜单刷新的问题,我就来讲一下我的思路: 用户登录时将用户角色放入session中,以角色id为key,权限为值,角色切换时将相应角色id传入后台,取…...
![](https://oscimg.oschina.net/oscnet/8e07d4a6dc6b315f06c9c30f7bc5a3b8a43.jpg)
专门做照片的网站/揭阳新站seo方案
2019独角兽企业重金招聘Python工程师标准>>> 1.查找80端口被谁占用的方法 进入命令提示行(开始运行输入 CMD),输入命令 netstat –ano ,就可以看到本机所有端口的使用情况,一般80端口在第一行,截…...
网站死链如何修改/网站关键词如何优化
可以看访问你网站的人都分布在那些省市! 老外做过一个全球了。 我只能做一个全国的了。 呵呵。 现在只是做演示。 而且我的事虚拟主机。 暂时不能公开使用。 只是让大家看一下。 呵呵。 转载于:https://www.cnblogs.com/MysticBoy/archive/2008/12/13/1354464.html…...
![](https://img-blog.csdnimg.cn/img_convert/ea9f38753b2b4ec2ac3fa22d04bf9e8a.png)
可以绑定独立域名网站/国色天香站长工具
导读:衡量领导者优秀与否的一个重要标准,是责任心。除了对工作整体的负责的心态之外,还有对下属的负责。一个优秀的领导者,总是能够在关键时刻挺身而出,为下属“遮风挡雨”。试想,为什么在军队里࿰…...