L1-079 天梯赛的善良(20分)

文章讲述了如何使用C语言编写程序,通过遍历数组找到最大值、最小值,并统计它们在数组中出现的次数。作者认为这道题的实际难度低于给出的20分评级。

在这里插入图片描述
题目链接:https://pintia.cn/problem-sets/994805046380707840/exam/problems/1386335159927652358?type=7&page=0
思路:先打印N,用for循环把这些数输入出来,然后因为要去找最大,最小,那么运用遍历的思想,先把max min定义成第一个数,再挨个比较,更大的进入max,更小的进入min 然后把max[i] i min[j] j打出来就行了。

#include<stdio.h>
int main()
{
    int N,a[30000],max,min,out1=0,out2=0,i;
        scanf("%d",&N);
    for(int i=0;i<N;i++)
    {
        scanf("%d",&a[i]);
    }
        max=a[0];
        min=a[0];
    for(int i=0;i<N;i++)
    {
        if(a[i]>max)
            max=a[i];
        if(a[i]<min)
            min=a[i];
    }
    for(i=0;i<N;i++)
    {
        if(a[i]==max)
            out1++;
        if(a[i]==min)
            out2++;
    }
    printf("%d %d\n",min,out2);
    printf("%d %d",max,out1);
        
    return 0;
}

感觉这题难度不值20分哈哈

### 关于 L1-079 天梯赛 Java 编程题解 对于天梯赛中的编程挑战,尤其是像 L1 这样对时间和效率敏感的比赛,在选择编程语言时需谨慎考虑。当面对较小的数据集或者需要快速开发原型时,Java 提供了便捷的字符串处理、日期管理和高精度计算功能[^1]。 然而,由于天梯赛的时间限制较为严格——通常为200毫秒到400毫秒之间,而不仅仅是标准的一秒钟——这使得使用 Java 可能面临性能上的挑战,尤其是在处理大规模数据时容易超出时限。因此,在编写针对此类竞赛的具体算法实现之前,应该评估所选语言能否满足速度需求。 关于 L1-079 题目本身,虽然具体的题目描述未提供,但从上下文中可以推测这是一个涉及一定复杂度的问题,可能涉及到高效的数据结构应用或是特定领域内的逻辑运算。下面给出一段假设性的代码片段来展示如何用 Java 实现一个高效的解决方案: ```java import java.util.*; public class Solution { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 假设输入是一个整数列表 List<Integer> numbers = new ArrayList<>(); while (scanner.hasNextInt()) { int num = scanner.nextInt(); if (num == -1) break; // 结束标志 numbers.add(num); } // 对列表进行必要的操作... processNumbers(numbers); // 输出结果 System.out.println("Processed result"); } private static void processNumbers(List<Integer> nums){ // 此处放置具体业务逻辑 } } ``` 此代码展示了基本框架,实际解决问题还需要依据具体要求调整 `processNumbers` 方法的内容。为了提高执行效率,应当优化内部循环和其他耗时部,并尽可能减少不必要的对象创建和垃圾回收压力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

To be Transcendente

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值