当前位置:网站首页>牛客网——华为题库(100~108)
牛客网——华为题库(100~108)
2022-07-30 19:08: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]为结尾的严格上升子序列的长度(初始化为1)
int res = 1;
for(int i = 0; i < nums.size(); i++){
for(int j = 0; j < i; j++){
//遍历前面的
if(nums[j] < nums[i]){
//确保严格上升
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;
}
}
}
}
边栏推荐
猜你喜欢
【网站放大镜效果】两种方式实现
Scrapy框架介绍
node封装一个控制台进度条插件
What is the value of biomedical papers? How to translate the papers into Chinese and English?
vxe-table实现复选框鼠标拖动选中
【PHPWord】PHPOffice 套件之PHPWord快速入门
【剑指 Offe】剑指 Offer 17. 打印从1到最大的n位数
Google's AlphaFold claims to have predicted almost every protein structure on Earth
[Summary] 1396- 60+ VSCode plugins to create a useful editor
部分分类网络性能对比
随机推荐
MYSQL(基本篇)——一篇文章带你走进MYSQL的奇妙世界
- daily a LeetCode 】 【 191. A number of 1
已删除
高并发秒杀项目总结
【Prometheus】Prometheus联邦的一次优化记录[续]
Delay queue optimization (2)
【PHPWord】Quick Start of PHPWord in PHPOffice Suite
Google's AlphaFold claims to have predicted almost every protein structure on Earth
Vulkan开启特征(feature)的正确姿势
Multiple instances of mysql
还有三天忙完
JsonUtil基于字符串操作josn
How do radio waves transmit information?
Difference between Object and Map
又一家公司面试的内容
监听开机广播
[Use of Qt Designer tool]
生物医学论文有何价值 论文中译英怎样翻译效果好
电脑死机的时候,发生了什么?
跨域问题的解决方法