天天微頭條丨#yyds干貨盤點# 名企真題專題:最大乘積

2022-12-06 19:16:50 來源:51CTO博客


(資料圖片僅供參考)

1.簡述:

描述

給定一個無序數組,包含正數、負數和0,要求從中找出3個數的乘積,使得乘積最大,要求時間復雜度:O(n),空間復雜度:O(1)

輸入描述:

輸入共2行,第一行包括一個整數n,表示數組長度 第二行為n個以空格隔開的整數,分別為A1,A2, … ,An

輸出描述:

滿足條件的最大乘積

示例1

輸入:

43 4 1 2

輸出:

24

2.代碼實現:

import java.util.*;class Main{        public static void main(String[] args) {            PDD1();        }        public static void PDD1(){            long sum = 1;            Scanner scanner = new Scanner(System.in);            int n = scanner.nextInt();            List arrayList = new ArrayList<>();            for (int i = 0; i < n; i++) {                arrayList.add(scanner.nextLong());            }            arrayList.sort((o1, o2) -> {                        Long tmp = o2-o1;                        return tmp.intValue();                    }            );            if (arrayList.get(1)*arrayList.get(2)                

標簽: 滿足條件 空間復雜度 時間復雜度

上一篇:微頭條丨#yyds干貨盤點# LeetCode程序員面試金典:移除重復節點
下一篇:Spring for GraphQL入門教程(二)