数组推导
题目描述
输入格式
输出格式
样例
输入
6
0 0 5 5 10 10
输出
30
15
C++题解
这个题比较简单,求max时即直接加上此时的Bi
求min时,如果Bi值不变就加0,Bi值更改就加当前Bi值
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int nums[n];
for(int i=0; i<n; i++) {
cin>>nums[i];
}
int minsum = nums[0];
int maxsum = nums[0];
for(int fast=1; fast<n; fast++) {
maxsum = maxsum + nums[fast];
if(nums[fast]!=nums[fast-1]) {
minsum = minsum + nums[fast];
}
}
cout<<maxsum <<endl;
cout<<minsum;
return 0;
}
灰度直方图
题目描述
输入格式
输出格式
样例
输入
4 4 16
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
输出
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
C++题解
用一个双循环检测即可
#include<bits/stdc++.h>
using namespace std;
int main()
{
int m,n,L;
cin>>m>>n>>L;
int len=m*n;
int a[len];
for(int i=0;i<len;i++){
cin>>a[i];
}
int h[L]={0};
for(int i=0;i<L;i++){
for(int j=0;j<len;j++){
if(a[j]==i) h[i]++;
}
}
for(int i=0;i<L;i++){
cout<<h[i]<<" ";
}
return 0;
}