隨筆-陣列中三個數的最大乘積
題目:
給定一個整型陣列,在陣列中找出由三個陣列成的最大乘積,並輸出這個乘積。
示例 1:
輸入: [1,2,3]
輸出: 6
示例 2:
輸入: [1,2,3,4]
輸出: 24
注意:
給定的整型陣列長度範圍是[3,104],陣列中所有的元素範圍是[-1000, 1000]。
輸入的陣列中任意三個數的乘積不會超出32位有符號整數的範圍。
思路:先給陣列排序; 最大的數分為兩種情況,一種是全部為正數或全為負數;一種是有正有負,有正有負的取一位最大正數,兩位最小的負數和三位最大的正數兩種情況;
class Solution { public int maximumProduct(int[] nums) { Arrays.sort(nums); int a = nums[nums.length-1]*nums[nums.length-2]*nums[nums.length-3]; int b = nums[0]*nums[1]*nums[nums.length-1]; return a>b? a:b; } }
相關推薦
隨筆-陣列中三個數的最大乘積
題目: 給定一個整型陣列,在陣列中找出由三個陣列成的最大乘積,並輸出這個乘積。 示例 1: 輸入: [1,2,3] 輸出: 6 示例 2: 輸入: [1,2,3,4] 輸出: 24 注意: 給定的整型陣列長度範圍是[3,104],陣列中所有的元素範圍是[-1000,
【Leetcode】628. 三個數最大乘積
題目描述: 給定一個整型陣列,在陣列中找出由三個陣列成的最大乘積,並輸出這個乘積。 示例 1: 輸入: [1,2,3] 輸出: 6 示例 2: 輸入: [1,2,3,4] 輸出: 24 注意: 給定的整型陣列長度範圍是[3,104],陣列中所有的元素範圍是[
求解無序陣列中三個數的最大乘積 (python實現)
# -*- coding:utf-8 -*- # 求解無序陣列中三個數的最大乘積: # (max1 * max2 * max3) 與 (max * min1 * min2) 兩者中的較大者 arr = [2, 0, 5, -3, -7, 4, -9] arr.sort
從陣列中找出最大的兩個數
題目:從陣列區間A[lo, hi]中找出最大的兩個整數A[x1]和A[x2],要求元素比較的次數,要求儘可能的少 迭代版1: 如圖所示,當整個掃描一遍陣列A,找出最大的數x1後,再掃描一次陣
從給定陣列中找出最大的兩個數——二分遞迴
分析1:對於給定陣列找出其中最大的兩個數,很容易想到的就是遍歷陣列。首先遍歷整個陣列,找出最大的一個元素並記錄下該位置;然後分別遍歷該位置之前的區間和該位置之後的區間,分別找出這兩個子區間的最大值,然
C#小練習(輸入10個數存入陣列中,求最大值、最小值和平均值.)
/* (程式頭部註釋開始) * 程式的版權和版本宣告部分 * Copyright (c) 2011, 煙臺大學計算機學院學生 * All rights reserved. * 檔名稱:
找出數組中的連續最大乘積
int 子序列 clas length 子數組 示例 一個 連續 乘積最大 給定一個整數數組 nums ,找出一個序列中乘積最大的連續子序列(該序列至少包含一個數)。 示例 1: 輸入: [2,3,-2,4]輸出: 6解釋: 子數組 [2,3] 有最大乘積 6。示例 2:
(C語言)用函式實現求三個數最大值
題目描述:從鍵盤輸入三個數,之後呼叫函式實現求三個數的最大值 程式碼實現: #include<stdio.h> int main() { int qmax(int a,int b,int c); //求最大值函式的宣告 int x,y,z; int max
三個數最大值(if)
輸入三個數,輸出最大值; #include<stdio.h> int main() { int a,b,c,max; scanf("%d%d%d",&a,&
#定義泛型類#分別求Integer和Double型陣列中元素的最大值,最小值,平均值
public class NumFunc<T extends Number> { T[]a; public NumFunc(T[]a){ super(); this.a=a; } private void so
Java程式設計基礎筆記 —— 如何獲取陣列中元素的最大值。
運算元組時,經常需要獲取陣列中元素的最值,下面來學習如何獲取陣列中元素的最大值。 public class GetMax { public static void main(Stri
拼多多筆試題一:給出一個無序整數陣列,求任意三個數的最大乘積
題目: 給出一個可能包含正數、零、負數的無序整數序列,從該序列中任選三個數計算乘積,求最大的乘積是多少? 要求:演算法的時間複雜度為O(n),空間複雜度為O(1). 輸入: 第一行輸入n表示序列中整數的個數 第二行輸入n個整數 輸出; 最大的乘積 例如: 輸入: 4 1 0
【LeetCode】數組-2(628)-數組中三個數相乘最大
負數 [] product leet ont 沒有 程序 時間復雜度 array 題目不難: 思路一(排序取兩端) 先排序,最後三個數相乘即可。(很快就想到了,但是沒想全面 [??] ) 缺陷:沒有考慮到有負數的情況,當至少有兩個負數時,需要判斷 最大數乘兩個最小的負數 和
1.交換兩值內容 2.不創建臨時變量交換兩只內容 3.求十個數中的最大值 4.講三個數由大到小輸出 5.求兩個數最大公約數
www. 最大公約數 十個 following .com blank 臨時變量 lan follow 露x都對貝姨芽沽1才39賢http://www.facebolw.com/space/2104128 ZP鋪巢嗣3瀉HX7Dhttp://www.facebolw.com
Leetcode628.Maximum Product of Three Numbers三個數的最大乘積
給定一個整型陣列,在陣列中找出由三個陣列成的最大乘積,並輸出這個乘積。 示例 1: 輸入: [1,2,3] 輸出: 6 示例 2: 輸入: [1,2,3,4] 輸出: 24 注意: 給定的整型陣列長度範圍是[3,104],陣列中所有的元素範圍是[-1000, 100
[LeetCode] 628. Maximum Product of Three Numbers 三個數字的最大乘積 [LeetCode] 152. Maximum Product Subarray 求最大子陣列乘積 All LeetCode Questions List 題目彙總
Given an integer array, find three numbers whose product is maximum and output the maximum product. Example 1: Input: [1,2,3] Output: 6 Example 2
資料結構演算法題/陣列中兩個數相減(前面減後面)的最大值
陣列中兩個數相減(前面減後面)的最大值。 解法一:O(n^2) 就是一個很普通的方法。求出 陣列中所有下標小的元素減去下標大的元素,找出其中的最大值即可。程式碼如下: //O(N^2) 找出陣列arr中兩個數相減的最大值 public static int m
[Leetcode] 628. 三個數的最大乘積 java
給定一個整型陣列,在陣列中找出由三個陣列成的最大乘積,並輸出這個乘積。 示例 1: 輸入: [1,2,3] 輸出: 6 示例 2: 輸入: [1,2,3,4] 輸出: 24 注意: 給定的整型陣列長度範圍是[3,104],陣列中所有的元素範圍是[-1000,
628. 三個數的最大乘積
628.三個數的最大乘積 給定一個整型陣列,在陣列中找出由三個陣列成的最大乘積,並輸出這個乘積。 示例 1: 輸入: [1,2,3] 輸出: 6 示例 2: 輸入: [1,2,3,4] 輸出: 24 注意: 給定的整型陣列長度範圍是[3,104],陣列
三個數的最大乘積
給定一個整型陣列,在陣列中找出由三個陣列成的最大乘積,並輸出這個乘積。(leetcode連結) 示例 1: 輸入: [1,2,3] 輸出: 6 示例 2: 輸入: [1,2,3,4] 輸出: 24 注意: 給定的整型陣列長度範圍是[3,104],陣列中所有的元素