列表

详情


NC204457. 最大的差

描述

给定n个数字,请你从中选出两个数字,使得这两个数字的差尽量大,输出这个最大的差。

输入描述

第一行是一个正整数
第二行有n个空格隔开的整数,数字的绝对值不超过

输出描述

输出一个整数,表示最大的差值。

示例1

输入:

3
1 2 1

输出:

1

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C 解法, 执行用时: 19ms, 内存消耗: 380K, 提交时间: 2023-08-09 09:49:19

#include<stdio.h>
int main()
{
    int n,x,max=0,min=1000000;
    scanf("%d",&n);
    while(n--){
        scanf("%d",&x);
        if(max<x) max=x;
        if(min>x) min=x;
    }
    printf("%d",max-min);
}

C++ 解法, 执行用时: 39ms, 内存消耗: 416K, 提交时间: 2023-08-09 09:48:37

#include <bits/stdc++.h>
using namespace std;
int main (){
    int n;cin>>n;
    int a=0,b=1e8;
    for(int i=0;i<n;i++){
        int x;cin>>x;
        a=max(a,x);
        b=min(b,x);
    }
    cout<<a-b<<endl;
}

JavaScript Node 解法, 执行用时: 114ms, 内存消耗: 18356K, 提交时间: 2023-08-09 09:47:32

const readline = require("readline")

const rl = readline.createInterface({
    input: process.stdin,
    output:process.stdout
})

let lines = []
rl.on("line",function(l){
    
    lines.push(l)
})

rl.on("close",function(){
    
    let n = lines.shift()
    let arr = lines.shift().split(" ").map(s => parseInt(s))
    
    let max = 0
    let min = Number.MAX_SAFE_INTEGER
    for(let n of arr){
        
        if(n>max){
            max = n
        }
        
        if(n<min){
            min = n
        }
    }
    
    console.log(max - min);

})

JavaScript V8 解法, 执行用时: 51ms, 内存消耗: 14644K, 提交时间: 2023-08-09 09:45:24

var n = readline()
var arr = readline().split(" ")
var x = Math.max.apply(null, arr) - Math.min.apply(null, arr)
console.log(x)

Java 解法, 执行用时: 626ms, 内存消耗: 22020K, 提交时间: 2023-08-03 17:37:47

import java.util.*;
import java.lang.Math;
public class Main {
    public static void main(String[] arg){
        Scanner scan=new Scanner(System.in);
        int n=scan.nextInt();
        int min=100001;
        int max=-100001;
        while(n>0){
          int x=scan.nextInt();
            max=max>x? max :x;
            min=min<x? min :x;
            n--;
        }
         System.out.print(max-min);
    }
}

PHP 解法, 执行用时: 36ms, 内存消耗: 13040K, 提交时间: 2023-08-03 17:36:06

<?php

$n = intval(fgets(STDIN));
$line = fgets(STDIN);
$nums = explode(' ', $line);
$nums = array_map(function($v) { return intval($v); }, $nums);

echo max($nums) - min($nums);

Python3 解法, 执行用时: 92ms, 内存消耗: 17108K, 提交时间: 2023-08-03 17:25:58

n = int(input())
a = [i for i in map(int, input().split())]
print(max(a)-min(a))

Go 解法, 执行用时: 936ms, 内存消耗: 6468K, 提交时间: 2023-08-03 17:24:44

package main
import (
    "fmt"
)

func main() {
    n, max, min := 0, -1000000, 1000000
    fmt.Scanf("%d",&n)
    
    for i := 0; i < n; i++ {
        tmp := 0
        fmt.Scanf("%d",&tmp)
        if tmp > max {
            max = tmp
        }
        if tmp < min {
            min = tmp
        }
    }
    fmt.Printf("%d", max - min)
    return 
}

上一题