当前位置:网站首页>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;
}
}
}
}
边栏推荐
- kotlin的by lazy
- 电脑死机的时候,发生了什么?
- The Meta metaverse division lost 2.8 billion in the second quarter!Still want to keep betting?Metaverse development has yet to see a way out!
- The use of terminal split screen tool Terminalx
- 第4章 控制执行流程
- 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
- SimpleOSS第三方库libcurl与引擎libcurl错误解决方法
- redis
- MySQL数据库————视图和索引
- Encapsulates a console file selector based on inquirer
猜你喜欢

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

MindSpore:对image作normalize的目的是什么?

【Pointing to Offer】Pointing to Offer 18. Delete the node of the linked list

NXP IMX8QXP更换DDR型号操作流程

NXP IMX8QXP replacement DDR model operation process

牛客刷题系列之进阶版(搜索旋转排序数组,链表内指定区间反转)

C# wpf borderless window add shadow effect

Swiper rotates pictures and plays background music

Node encapsulates a console progress bar plugin

【剑指 Offer】剑指 Offer 22. 链表中倒数第k个节点
随机推荐
看完《二舅》,我更内耗了
LeetCode每日一题(1717. Maximum Score From Removing Substrings)
Go 系统收集
[Summary] 1396- 60+ VSCode plugins to create a useful editor
第十七届“振兴杯”全国青年 职业技能大赛——计算机程序设计员(云计算平台与运维)参赛回顾与总结
【MindSpore】用coco2017训练Model_zoo上的 yolov4,迭代了两千多batch_size之后报错,大佬们帮忙看看。
Mysql execution principle analysis
C# wpf borderless window add shadow effect
第一次进入小程序判断
Spark学习:用spark实现ETL
MYSQL(基本篇)——一篇文章带你走进MYSQL的奇妙世界
[TypeScript]编译配置
MindSpore:【JupyterLab】查看数据时报错
After 23 years of operation, the former "China's largest e-commerce website" has turned yellow...
MindSpore:自定义dataset的tensor问题
Witness the magical awakening of the mini world in HUAWEI CLOUD
几个GTest、GMock的例子
DM8:单库单实例搭建本地数据守护服务
Encapsulates a console file selector based on inquirer
实体中增加操作方法