常见的数学方法

Math类表示数学类,其中的数学方法都被定义成为static形式,所以可以直接通过Math类的类名调用某个数学方法。语法格式:

Math.xxx(参数);

例题

输入n个整数a1,a2,a3,......an,求这n个数的最大值max,最小值min,以及|ai-aj|绝对值的最大值(i!=j)(n<=1000,ai<=1000)

实例:

输入5

1 2 3 4 5

输出1 5 4

Integer.MAX_VALUE 是 int 类型的最大值,

所以数组 f 中的第一个元素 f[0] 能够成功地将其值赋给 min。
然后,通过后续的循环逐个比较 f 数组中的其他元素,能够正确地更新 min 为更小的值。

java 复制代码
import java.util.Scanner;


public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int []f = new int[n];
/*
用 Integer.MAX_VALUE 的好处:
    在这个上下文中用作一个比数组 f 中任何可能的值都要大的"占位符",以确保 min 变量能够在后续的循环中正确地找到数组 f 的最小值
 */
        int max = 0,min = Integer.MAX_VALUE,absmax = 0;
        for (int i = 0; i < n; i++) {
            f[i] =sc.nextInt();
        }
        for (int i = 0; i < n; i++) {
            max = Math.max(f[i],max);
            min = Math.min(f[i],min);
        }
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
//              避免了对同一个元素进行自己减自己的操作,因为任何数减自己都是0
                if (i == j){
                    continue;
                }
                absmax = Math.max(Math.abs(f[i]-f[j]),absmax);
            }
        }
        System.out.println(max + " " + min + " " + absmax);
    }
}
相关推荐
林开落L11 分钟前
前缀和算法习题篇(上)
c++·算法·leetcode
远望清一色12 分钟前
基于MATLAB边缘检测博文
开发语言·算法·matlab
tyler_download14 分钟前
手撸 chatgpt 大模型:简述 LLM 的架构,算法和训练流程
算法·chatgpt
SoraLuna34 分钟前
「Mac玩转仓颉内测版7」入门篇7 - Cangjie控制结构(下)
算法·macos·动态规划·cangjie
我狠狠地刷刷刷刷刷37 分钟前
中文分词模拟器
开发语言·python·算法
鸽鸽程序猿37 分钟前
【算法】【优选算法】前缀和(上)
java·算法·前缀和
九圣残炎44 分钟前
【从零开始的LeetCode-算法】2559. 统计范围内的元音字符串数
java·算法·leetcode
YSRM1 小时前
Experimental Analysis of Dedicated GPU in Virtual Framework using vGPU 论文分析
算法·gpu算力·vgpu·pci直通
韭菜盖饭1 小时前
LeetCode每日一题3261---统计满足 K 约束的子字符串数量 II
数据结构·算法·leetcode
geng小球2 小时前
LeetCode 78-子集Ⅱ
java·算法·leetcode