以下代码有什么区别或错误?
What's the difference or error in following codes?
我必须找到数组的最小值。首先我使用了 stl 然后我使用了简单的方法但是在 stl 的情况下我的代码被拒绝了。这是错的吗?问题可以在这里找到:
https://www.codechef.com/problems/CFMM
我在同一个在线判断上执行了两个代码,但 STL 一个被拒绝了。
int a_min = ar[0];
for(int i=1;i<6;i++)
if(ar[i]<a_min)
a_min = ar[i];
cout<<a_min<<endl;
STL 一:
int *a_min = min_element(ar,ar+5);
cout<<*a_min<<endl;
完整代码在这里:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t, n, a_min;
string str;
cin>>t;
char check[6] = {'c','o','d','e','h','f'};
while(t--){
int ar[6] = {0};
cin>>n;
while(n--){
cin>>str;
for(int i=0;i<str.size();i++){
for(int j=0;j<6;j++)
if(str[i] == check[j])
if(str[i] == check[j])
ar[j]++;
}
}
ar[0] /= 2;
ar[3] /= 2;
a_min = ar[0];
for(int i=1;i<6;i++) //min code from here
if(ar[i]<a_min)
a_min = ar[i];
cout<<a_min<<endl; //cout<<*a_min<<endl; for stl one
}
}
您正在使用:
int *a_min = min_element(ar,ar+5);
您需要将其更改为:
int *a_min = min_element(ar,ar+6);
以便它检查 ar 的 6 个元素。
认为您需要将指向数组最后一个元素的指针作为 min_element 的第二个参数似乎是合乎逻辑的,但格式是 min_element(first, last) 它从第一个迭代器迭代到最后一个 排除 最后一个迭代器。
我必须找到数组的最小值。首先我使用了 stl 然后我使用了简单的方法但是在 stl 的情况下我的代码被拒绝了。这是错的吗?问题可以在这里找到: https://www.codechef.com/problems/CFMM
我在同一个在线判断上执行了两个代码,但 STL 一个被拒绝了。
int a_min = ar[0];
for(int i=1;i<6;i++)
if(ar[i]<a_min)
a_min = ar[i];
cout<<a_min<<endl;
STL 一:
int *a_min = min_element(ar,ar+5);
cout<<*a_min<<endl;
完整代码在这里:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t, n, a_min;
string str;
cin>>t;
char check[6] = {'c','o','d','e','h','f'};
while(t--){
int ar[6] = {0};
cin>>n;
while(n--){
cin>>str;
for(int i=0;i<str.size();i++){
for(int j=0;j<6;j++)
if(str[i] == check[j])
if(str[i] == check[j])
ar[j]++;
}
}
ar[0] /= 2;
ar[3] /= 2;
a_min = ar[0];
for(int i=1;i<6;i++) //min code from here
if(ar[i]<a_min)
a_min = ar[i];
cout<<a_min<<endl; //cout<<*a_min<<endl; for stl one
}
}
您正在使用:
int *a_min = min_element(ar,ar+5);
您需要将其更改为:
int *a_min = min_element(ar,ar+6);
以便它检查 ar 的 6 个元素。 认为您需要将指向数组最后一个元素的指针作为 min_element 的第二个参数似乎是合乎逻辑的,但格式是 min_element(first, last) 它从第一个迭代器迭代到最后一个 排除 最后一个迭代器。