往年机试
以往届机试为主
工科扫地僧
这个作者很懒,什么都没留下…
展开
-
已知二叉树的先序遍历和中序遍历,输出它的后序遍历
#include<iostream>#include<vector>#include<string>#include<unordered_map>using namespace std;unordered_map<int, int>record;vector<char>res;//先序遍历数组,中序遍历数组,当前处理的先序遍历数组的开始索引,当前处理的先序遍历数组的结束索引,当前处理的中序遍历数组的开始索引,...原创 2020-09-12 21:47:00 · 688 阅读 · 0 评论 -
迷宫问题
#include<iostream>#include<vector>#include<sstream>#include <algorithm>using namespace std;//vector<vector<int> >res;int n=0;bool help(vector<vector<int> >&record,int i,int j){ if(reco...原创 2020-09-11 08:01:17 · 162 阅读 · 0 评论 -
字符串的子串
输出一个字符串的子串,字典序为K的子串int main(){ string str; int K=3; cin >> str; set<string>record; for (int i = 0; i < str.size(); i++) { for (int j = 1; j <= str.size()-i; j++) { //输出子串 //cout << str.substr(i, j) <&原创 2020-08-23 21:11:48 · 530 阅读 · 0 评论 -
硬币题
面值1元,4元,16元,64元,一共有四种硬币,以及还有一个1024的纸币,如果用1024的纸币去购买一个商品,最少会收到多少硬币。#输入 200#输出 17#解释 12个64 ,3个16,2个4 #include <iostream>#include <vector>using namespace std;class Solusion {public: int GetCoinCount(int N) { int l.原创 2020-08-23 09:22:17 · 403 阅读 · 0 评论 -
匹配子序列
#include<iostream>#include<unordered_map>using namespace std;int main(){ string str,s; while(cin>>str) { cin>>s; int j=0; for(int i=0;i<str.size()&&j<s.size();i++) ...原创 2020-08-21 16:05:16 · 331 阅读 · 0 评论 -
放苹果
/*放苹果分为两种情况,一种是有盘子为空,一种是每个盘子上都有苹果。令(m,n)表示将m个苹果放入n个盘子中的摆放方法总数。1.假设有一个盘子为空,则(m,n)问题转化为将m个苹果放在n-1个盘子上,即求得(m,n-1)即可2.假设所有盘子都装有苹果,则每个盘子上至少有一个苹果,即最多剩下m-n个苹果,问题转化为将m-n个苹果放到n个盘子上即求(m-n,n)*/#include<iostream>using namespace std;int getNum(i...原创 2020-08-21 00:23:28 · 156 阅读 · 0 评论 -
提取不重复的整数
#include<iostream>#include<set>#include<vector>#include<algorithm>#include<numeric>#include <string>#include <map>#include <iomanip>#include<ctime>#include<cmath>using namespace st...原创 2020-08-20 21:16:03 · 172 阅读 · 0 评论 -
两个连续最大子序和
给定一个整型数列,你需要找到两个连续子段,保证两个子段不能重复,并且使得这两个字段中的所有整数的和最大//输入3101 -1 2 2 3 -3 4 -4 5 -55-5 9 -5 11 2010-1 -1 -1 -1 -1 -1 -1 -1 -1 -1//输出1340-2#include<iostream>#include<cstdio>#include<vector>using namespace std;#d.原创 2020-08-17 16:59:43 · 203 阅读 · 0 评论 -
24点运算加减乘除
#include <iostream>#include <vector>using namespace std;bool is24(vector<double> a,int tot,double result){ if(a.empty()) return result == tot; for(int i=0;i<a.size();i++) { vector<double&g...原创 2020-08-17 16:22:16 · 755 阅读 · 1 评论 -
删数
#include<iostream>#include<queue>using namespace std;int main(){ int N; while(cin>>N) { queue<int>record; for(int i=0;i<N;i++) { record.push(i); } int coun...原创 2020-08-12 21:22:03 · 153 阅读 · 0 评论 -
字符集合
#include<iostream>#include<string>#include<unordered_set>using namespace std;int main(){ string str; while(cin>>str) { unordered_set<char>record; string res; for(int i=0;i<s...原创 2020-08-12 20:49:19 · 194 阅读 · 0 评论 -
在字符串中找出连续最长的数字串
#include<iostream>#include<string>using namespace std;int main(){ string str; while(cin>>str) { int L=0,R=0; int count=0; string res=""; while(R<str.size()) { if...原创 2020-08-12 20:02:26 · 243 阅读 · 0 评论 -
按字节截取字符串
#include<iostream>#include<string>using namespace std;bool isnums(char a){ if((a>='A'&&a<='Z')||(a>='a'&&a<='z')) return true; return false;}int main(){ string str; int n; whi...原创 2020-08-12 16:17:49 · 191 阅读 · 1 评论 -
京东笔试题------紧急疏散-----创建邻接表,广度优先遍历,
/* 这道题是找根节点下的最大子树 因为是多叉树,可以利用图中的邻接表,这里利用vector和list实现 先记录根节点下的次子节点子节点。分别以次子节点为根,然后利用广度优先或者深度优先遍历计算得到各个节点的子树节点总和 取次子节点中最大的值作为结果*/#include<bits/stdc++.h>using namespace std;int main(){ int m;cin >> m; vector<vector<in...原创 2020-08-07 13:27:18 · 317 阅读 · 0 评论 -
搜狗-----服务器数据分发
#include <iostream>#include <queue>#include <vector>#include <math.h>#include <algorithm>using namespace std; const int MAX_V=1000005;//二维数组 用于存储树//对应树的编号的 子节点vector<int> tree[MAX_V];int cmp(i...原创 2020-08-03 00:09:59 · 265 阅读 · 0 评论 -
腾讯后台------压缩算法
string类型,包含很多库函数,#include <iostream>#include <string>using namespace std;int main() { string s; cin >> s; int i = 0; while (i < s.length()) { if (s[i] == ']') { int j = i;...原创 2020-08-02 22:32:15 · 299 阅读 · 0 评论 -
DNA序列
#include<iostream>#include<string>#include<vector>using namespace std;int main(){ string str; int n; while(cin>>str>>n) { //如果小于n直接输出字符串 if(str.size()<n) { cout...原创 2020-07-21 16:55:57 · 248 阅读 · 0 评论 -
自守数
#include<iostream>#include<string>using namespace std;int main(){ int n; while(cin>>n) { if(n==0||n==1)cout<<1<<endl; int count=2; for(int i=3;i<n;i++) { i...原创 2020-07-21 15:33:35 · 166 阅读 · 0 评论 -
参数解析
#include<iostream>#include<string>#include<vector>using namespace std;int main(){ string str; vector<string>res; while(getline(cin,str)) { //临时字符串 string tmp; bool flag=false;//是否处于...原创 2020-07-15 19:27:43 · 198 阅读 · 0 评论 -
字符统计
#include<iostream>#include<string>#include<vector>using namespace std;int main(){ string str; while(cin>>str) { vector<int>count(256,0); int max=0; for(int i=0;i<str.size();i++)...原创 2020-07-11 08:20:34 · 358 阅读 · 0 评论 -
合法IP
#include<iostream>#include<string>#include<sstream>using namespace std;int main(){ string str; while(cin>>str) { stringstream ss(str); string tmp; //以‘.’隔开成了几块 int count=0...原创 2020-07-10 18:13:22 · 187 阅读 · 0 评论 -
表示数字
#include<iostream>#include<string>using namespace std;int main(){ string s; //可能有多行 while(cin>>s) { string res; bool flags=0;//利用标志位标志是否处于字母状态,默认不在字母状态下 for(int i=0;i<s.size();i++) ...原创 2020-06-21 14:59:51 · 164 阅读 · 0 评论 -
乐鑫笔试--地铁打卡活动
#include <bits/stdc++.h>using namespace std;//假设有一百个节点const int N=100;int find( vector<int>&p,int x){ return x==p[x]?p[x]:p[x]=find(p,p[x]);}int main(){ vector<int>p(N,-1); int n,m,a,b,u,v; cin>&...原创 2020-06-08 22:31:41 · 270 阅读 · 0 评论 -
乐鑫笔试题-----开根号
//注意审题:不用任何数学库函数,所以我们只用加减乘除#include <iostream>using namespace std;//二分搜索求开n次方//double epr = 10E-14;#define epr 10E-14double Mysqrt(double m, int n){ //double 十进制小数点后十五位精确 double left = 0; double right = m; //必须保证第一次while...原创 2020-06-08 21:48:52 · 597 阅读 · 0 评论 -
明明的随机数
#include<iostream>#include<set>using namespace std;int main(){ unsigned int n; unsigned int s; while(cin>>n) { set<unsigned int>record; for(int i=0;i<n;i++) { cin>...原创 2020-06-02 23:40:31 · 166 阅读 · 0 评论 -
坐标移动
#include<iostream>#include<vector>#include<string>using namespace std;int main(){ string str; while(cin>>str) { vector<int>res(2,0);...原创 2020-05-07 16:30:46 · 638 阅读 · 0 评论 -
华为笔试-买汽水
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?输入描述:...原创 2020-03-04 20:56:25 · 443 阅读 · 0 评论 -
华为机试----字符串最后一个单词的长度
#include<iostream>#include<string>using namespace std;int main(){ string str; //cin 从第一个非空输入开始,到下一个空输入 while(cin>>str); cout<<str.size()<<...原创 2020-05-05 21:32:18 · 216 阅读 · 0 评论 -
华为机试---找出字符串中第一个只出现一次的字符 、有两个出现一次的面试题的
#include<iostream>#include<string>#include<map>using namespace std;int main(){ string str; while(getline(cin,str)) { map<char,int>res; f...原创 2020-05-05 21:25:47 · 324 阅读 · 0 评论 -
华为机试---字符串排序
/*获取一行字符串,多次遍历str,使得字母按照规则1,规则2排序,,如果采用普通的排序算法,无法做到不区分大小写,按照要求对应输出*/#include<iostream>#include<string>#include<vector>using namespace std;int main(){ string str;...原创 2020-05-05 20:48:59 · 393 阅读 · 0 评论 -
字符串分隔
#include<iostream>#include<string>using namespace std;void processing(string str){ int n=str.size(); //第一种,n是8的整数倍 if(n%8==0) { for(int i=0;i<...原创 2020-05-06 21:34:04 · 195 阅读 · 0 评论 -
明明的随机数
#include<iostream>#include<set>using namespace std;int main(){ int n; int val; while(cin>>n) { //set本来就是有序的, set<int>res; ...原创 2020-05-06 21:01:32 · 161 阅读 · 0 评论 -
进制转换
方法一、巧妙求解#include<iostream>using namespace std;int main(){ int a; //cin默认是 十进制,hex之后,输入是十六进制 //因为是多组同时输入,所以必须加while,不然会是o% ,尽管在自测中通过 while(cin>>hex>>a)...原创 2020-05-06 20:44:04 · 120 阅读 · 0 评论 -
计算字符个数
/* 难点在于考虑不区分大小写,考虑字母和数字都有的情况*/#include<iostream>#include<map>using namespace std;int main(){ string str; char str_i; map<char,int>res; cin>>str...原创 2020-05-06 15:16:14 · 167 阅读 · 0 评论