题解
2024-06-09 22:22:41
发布于:广东
57阅读
0回复
0点赞
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
struct node{
int val[10005] = {0}, len = 1;//定义高精度数
}tmp;
char A[10005];
int n;
node read(char *A){//录入
node a;
a.len = strlen(A);
for(int i = 0; i < a.len; i++){
a.val[a.len - i] = A[i] - '0';
}return a;
}bool cmp(node a, node b){//比较
if(a.len > b.len) return 1;
if(a.len < b.len) return 0;
for(int i = a.len; i >= 1; i--){
if(a.val[i] > b.val[i]) return 1;
if(a.val[i] < b.val[i]) return 0;
}return 0;
}
int main(){
cin >> n;
for(int i = 1; i <= n; i++){
scanf("%s", A);
node a = read(A);
if(cmp(a, tmp)) tmp = a;
}for(int i = 1; i <= tmp.len; i++){
printf("%d", tmp.val[i]);//输出
}
}
时间复杂度:
全部评论 1
为什么我的不行?
#include <iostream> using namespace std; string mi(string n,string m){ for(int i=0;i<=n.size()-1;i++){ if(n[i]>m[i]){ return 0; }else return m; }return n; } int main(){ int a; cin >> a; string n="0"; for(int i=1;i<=a;i++){ string m; cin >> m; if(n.size()>m.size()){ continue; } else if(m.size()>n.size()){ n=m; } else{ n=mi(n,m); } } cout << n; return 0; }2025-03-06 来自 浙江
0第六行改成return n试试
2025-03-06 来自 广东
0第7行判断条件也要改
2025-03-06 来自 广东
0谢谢,看错了
2025-03-07 来自 浙江
0












有帮助,赞一个