小莫蓝桥刷题之路(求和)

纪小莫 2023-03-05 17:02:23

本题相对难理解的是arr[i]*(sum-arr[i]);sum是对所有输入的数字进行相加,这样可以在arr[1]时直接*sum,需要注意的是,其中它们两相乘时有一项乘arr[i]本身,所以这时我们需要减去arr[i]*arr[i]。

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
      Scanner sc=new Scanner(System.in);
      int n=sc.nextInt();
      long sum=0;
      long result=0;
      long []arr=new long[n];
      for(int i=0;i<arr.length;i++){
        arr[i]=sc.nextLong();
        sum+=arr[i];
      }
      for(int i=0;i<arr.length;i++){
        result+=arr[i]*(sum-arr[i]);
        sum-=arr[i];
      }
      System.out.println(result);
      sc.close();
    }
}

 

...全文
20 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

50,795

社区成员

发帖
与我相关
我的任务
社区描述
和众多高校算法内卷分子,一起学习和交流算法那。浓郁的算法交流氛围,拒绝躺平,有效内卷。加入我们,私信我拉你入核心内卷群。
算法数据结构leetcode 个人社区
社区管理员
  • 执 梗
  • Dream-Y.ocean
  • ღCauchyོꦿ࿐
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

 刷题!

试试用AI创作助手写篇文章吧