当前位置:网站首页>Niuke.com - Huawei Question Bank (100~108)
Niuke.com - Huawei Question Bank (100~108)
2022-07-30 19:21:00 【wrdoct】
华为题库
100.等差数列
#include <bits/stdc++.h>
using namespace std;
#define a1 2
#define d 3
int main(){
int n = 0;
while(cin >> n){
int res = 0;
int an = a1 + (n - 1) * d;
res = (a1 + an) * n / 2;
cout << res << endl;
}
return 0;
}
101.输入整型数组和排序标识,对其元素按照升序或降序进行排序
#include <bits/stdc++.h>
using namespace std;
struct cmp_0{
bool operator()(const int& a, const int& b){
return a < b;
}
};
bool cmp_1(const int& a, const int& b){
return a > b;
}
int main(){
int n = 0;
while(cin >> n){
vector<int> nums(n,0);
for(int i = 0; i < n; i++){
int num = 0;
cin >> num;
nums[i] = num;
}
int m = 0;
cin >> m;
if(m == 0){
//升序
sort(nums.begin(), nums.end(), cmp_0());
for(int i = 0; i < n; i++){
cout << nums[i] << " ";
}
cout << endl;
}
else if(m == 1){
//降序
sort(nums.begin(), nums.end(), cmp_1);
for(int i = 0; i < n; i++){
cout << nums[i] << " ";
}
cout << endl;
}
}
}
102.字符统计
#include <iostream>
#include <string>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(const pair<char, int> & a, const pair<char, int> & b) {
if(a.second == b.second){
return a.first < b.first;
}
return a.second > b.second;
}
struct cmp1{
bool operator()(const pair<char, int> & a, const pair<char, int> & b){
if(a.second == b.second){
return a.first < b.first;
}
return a.second > b.second;
}
};
int main(){
string s = "";
while(getline(cin, s)){
map<char, int> m;
for(char ch : s){
m[ch]++;
}
vector<pair<char, int>> v(m.begin(), m.end()); //
//sort(v.begin(), v.end(), cmp;
//stable_sort(v.begin(), v.end(), cmp1());
//因为map已经依照键排序了,所以用稳定排序当次数一样时,会保持原来的先后关系,即ASCII码的升序
stable_sort(v.begin(), v.end(), [](const pair<char,int>& a,const pair<char,int>& b){
//用Lambda来写配合算法使用的小函数是非常方便的
return a.second>b.second;
});
for(auto iter : v){
cout << iter.first;
}
cout << endl;
}
return 0;
}
103.Redraiment的走法
#include <bits/stdc++.h>
using namespace std;
int main(){
int n = 0;
while(cin >> n){
vector<int> nums(n, 0);
for(int i = 0; i < n; i++){
int num = 0;
cin >> num;
nums[i] = num;
}
vector<int> dp(n, 1); //dp[i]表示以nums[i]is the length of the ending strictly ascending subsequence(初始化为1)
int res = 1;
for(int i = 0; i < nums.size(); i++){
for(int j = 0; j < i; j++){
//遍历前面的
if(nums[j] < nums[i]){
//ensure strict ascent
dp[i] = max(dp[i], dp[j] + 1); //
}
}
res = max(res, dp[i]); //维护最大值
}
cout << res << endl;
}
return 0;
}
105.记负均正II
#include<bits/stdc++.h>
using namespace std;
int main(){
int num = 0;
double sum = 0, ave = 0;
int posNum = 0;
int negNum = 0;
while(cin >> num){
if(num < 0){
negNum++;
}
else{
posNum++;
sum += num;
}
if(posNum != 0) ave = sum / posNum;
}
cout << negNum << endl;
printf("%.1lf\n", ave);
}
106.字符逆序
#include <bits/stdc++.h>
using namespace std;
void process(string str, string& res){
reverse(str.begin(), str.end());
res = str;
}
int main(){
string str = "";
while(getline(cin, str)){
string res = "";
process(str, res);
cout << res << endl;
}
return 0;
}
107.求解立方根
#include <bits/stdc++.h>
using namespace std;
double cal(double x){
//正负数都有
double l = min(-1.0, x);
double r = max(1.0, x);
double y;
while(abs(r - l) > 0.01){
//立方根的精度值
y = (l + r) / 2;
if(y*y*y > x){
//
r = y;
}
else{
l = y;
}
}
return y;
}
int main(){
double num = 0.0;
while(cin >> num){
//cout << setprecision(1) << fixed << cal(num) << endl; //控制小数位输出
printf("%.1lf", cal(num));
}
return 0;
}
108.求最小公倍数
#include<bits/stdc++.h>
using namespace std;
int main(){
int A = 0, B = 0;
while(cin >> A >> B){
int tmp = A * B;
for(int i = min(A, B); i <= tmp; i++){
if(i % A == 0 && i % B == 0){
cout << i << endl;
break;
}
}
}
}
边栏推荐
- Common linked list problems and their Go implementation
- LocalDate时间生成
- 已删除
- Swiper rotates pictures and plays background music
- 【PHPWord】Quick Start of PHPWord in PHPOffice Suite
- 【剑指 Offe】剑指 Offer 18. 删除链表的节点
- AWS console
- Critical Reviews | A review of the global distribution of antibiotics and resistance genes in farmland soil by Nannong Zou Jianwen's group
- 【Prometheus】Prometheus联邦的一次优化记录[续]
- Object和Map的区别
猜你喜欢

Does the satellite phone communicate directly with the satellite or through a ground station?

延时队列优化 (2)

OneFlow source code analysis: Op, Kernel and interpreter

SwiftUI iOS Boutique Open Source Project Complete Baked Food Recipe App based on SQLite (tutorial including source code)

OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.解决方法

The advanced version of the cattle brushing series (search for rotating sorted arrays, inversion of the specified range in the linked list)
![[Summary] 1396- 60+ VSCode plugins to create a useful editor](/img/e4/65e55d0e4948c011585b72733d4d19.jpg)
[Summary] 1396- 60+ VSCode plugins to create a useful editor

redis

The large-scale application of artificial intelligence AI products in industrial-grade mature shipping ports of CIMC World Lianda will create a new generation of high-efficiency smart ports and innova

【hbuilder】运行不了部分项目 , 打开终端 无法输入指令
随机推荐
The use of terminal split screen tool Terminalx
【hbuilder】运行不了部分项目 , 打开终端 无法输入指令
JS提升:Promise中reject与then之间的关系
ImportError:attempted relative import with no known parent package
【MindSpore1.2.0-rc1产品】num_workers问题
The advanced version of the Niu Ke brushing series (team competition, sorting subsequences, inverting strings, deleting common characters, repairing pastures)
VS Code connects to SQL Server
浅聊对比学习(Contrastive Learning)第一弹
又一家公司面试的内容
kotlin的by lazy
SimpleOSS第三方库libcurl与引擎libcurl错误解决方法
JsonUtil基于字符串操作josn
What is the difference between a cloud database and an on-premises database?
【MindSpore】用coco2017训练Model_zoo上的 yolov4,迭代了两千多batch_size之后报错,大佬们帮忙看看。
Does the satellite phone communicate directly with the satellite or through a ground station?
电脑死机的时候,发生了什么?
Tensorflow2.0 混淆矩阵与打印准确率不符
Scrapy framework is introduced
crontab中写go run不执行的问题
自己需要努力