首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
三个数的最大乘积
[编程题]三个数的最大乘积
热度指数:27321
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 256M,其他语言512M
算法知识视频讲解
给定一个长度为
的无序数组
,包含正数、负数和 0 ,请从中找出 3 个数,使得乘积最大,返回这个乘积。
要求时间复杂度:
,空间复杂度:
。
数据范围:
示例1
输入
[3,4,1,2]
输出
24
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(0)
邀请回答
收藏(178)
分享
提交结果有问题?
84个回答
61篇题解
开通博客
小洋芋热爱NLP
发表于 2021-02-25 10:42:24
- 1、题目描述: - 2、题目链接: https://www.nowcoder.com/practice/8ae05c2913fe438b8b14f3968f64fc0b?tpId=117&tqId=37830&rp=1&ru=%2Factivity%2Foj&q
展开全文
夏臻臻
发表于 2020-08-20 14:21:43
这题就是讨论三种情况吧,首先排序这没什么说的。 第一种:最大的三个都是正数,取后三个相乘即可; 第二种:绝对值最大的三个数中有两个负数,取前两个负数及最后一个正数即可;我看讨论里那个老哥应该是多了一个A[0]A[1]A[2],上面两种情况应该就够了,绝对值最大的三个数中有一个负数或者三个负数都可以覆
展开全文
Maokt
发表于 2021-07-23 17:55:34
算法思想一:排序 解题思路: 首先将数组排序1、如果数组中全是非负数,则排序后最大的三个数相乘即为最大乘积;如果全是非正数,则最大的三个数相乘同样也为最大乘积。2、如果数组中有正数有负数,则最大乘积既可能是三个最大正数的乘积,也可能是两个最小负数(即绝对值最大)与最大正数的乘积。3、综上,在给数组排
展开全文
408真的不难
发表于 2021-08-03 00:50:23
最大的数就两种情况,两个负数一个正数和三个正数我们先对数组进行排序,然后就上面两个情况的数的大小,因为数组是升序的,从小到大,最大的两个负数乘积就在数组的最前面,最大的三个正数就在数组的最后面,比较两个数即可。如果没有负数或者正数,就比较是比较排序后数组的前后端三个数的乘积。一、没有正数,当然负数越
展开全文
摸鱼学大师
发表于 2021-12-08 20:12:11
题目的主要信息: 给定一个长度为 n 的无序数组 A ,包含正数、负数和 0 找出 3 个数,使得乘积最大,返回这个乘积 方法一:排序法 具体做法: 如果数组全是正数,则数组最大的三个数相乘乘积最大; 如果数组全是负数,则数组最大的三个数相乘乘积最大; 如果数组只有1个正数,其余都是负数,则数
展开全文
我和我
发表于 2021-11-13 21:51:11
public class Solution { /** * 最大乘积 * @param A int整型一维数组 * @return long长整型 */ public long solve (int[] A) { // wri
展开全文
dnrops
发表于 2021-11-12 11:52:05
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 最大乘积
展开全文
绿茵程序员
发表于 2021-09-24 03:51:34
import java.util.*; public class Solution { /** * 最大乘积 * @param A int整型一维数组 * @return long长整型 */ public long solve (int
展开全文
一起看雷阵雨了
发表于 2021-09-25 00:01:36
/** * 最大乘积 * @param A int整型一维数组 * @param ALen int A数组长度 * @return long长整型 */ long long solve(int* A, int ALen ) { // write code here lon
展开全文
ivansli
发表于 2021-05-06 16:01:20
package main import "math" /** * 最大乘积 * @param A int整型一维数组 * @return long长整型 */ func solve( A []int ) int64 { // write code here if len(A
展开全文
问题信息
数组
基础数学
上传者:
牛客332641号
难度:
84条回答
178收藏
5423浏览
热门推荐
通过挑战的用户
查看代码
刷题boy
2022-10-26 16:38:11
牛客71938...
2022-09-18 20:53:23
企鹅暴打皮卡丘
2022-09-16 16:43:05
Flawles...
2022-09-16 15:24:36
sunuv
2022-09-16 09:45:58
相关试题
车站建造问题
基础数学
评论
(40)
线段树编号问题
基础数学
评论
(2)
牛牛的超市
动态规划
基础数学
评论
(5)
编程题 ,按照要求创建Java 应...
Java
评论
(1)
市场与销售的区别在哪里?
市场营销
评论
(1)
三个数的最大乘积
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最大乘积 * @param A int整型一维数组 * @return long长整型 */ public long solve (int[] A) { // write code here } }
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最大乘积 * @param A int整型vector * @return long长整型 */ long long solve(vector
& A) { // write code here } };
#coding:utf-8 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 最大乘积 # @param A int整型一维数组 # @return long长整型 # class Solution: def solve(self , A ): # write code here
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最大乘积 * @param A int整型一维数组 * @return long长整型 */ public long solve (List
A) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最大乘积 * @param A int整型一维数组 * @return long长整型 */ function solve( A ) { // write code here } module.exports = { solve : solve };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 最大乘积 # @param A int整型一维数组 # @return long长整型 # class Solution: def solve(self , A: List[int]) -> int: # write code here
package main import "fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最大乘积 * @param A int整型一维数组 * @return long长整型 */ func solve( A []int ) int64 { // write code here }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最大乘积 * @param A int整型一维数组 * @param ALen int A数组长度 * @return long长整型 */ long long solve(int* A, int ALen ) { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 最大乘积 # @param A int整型一维数组 # @return long长整型 # class Solution def solve(A) # write code here end end
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最大乘积 * @param A int整型一维数组 * @return long长整型 */ def solve(A: Array[Int]): Long = { // write code here } }
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最大乘积 * @param A int整型一维数组 * @return long长整型 */ fun solve(A: IntArray): Long { // write code here } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最大乘积 * @param A int整型一维数组 * @return long长整型 */ public long solve (int[] A) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最大乘积 * @param A int整型一维数组 * @return long长整型 */ export function solve(A: number[]): number { // write code here }
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最大乘积 * @param A int整型一维数组 * @return long长整型 */ func solve ( _ A: [Int]) -> Int64 { // write code here } }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 最大乘积 * @param A int整型一维数组 * @return long长整型 */ pub fn solve(&self, A: Vec
) -> i64 { // write code here } }
[3,4,1,2]
24