2708. 一个小组的最大实力值

简介: 【9月更文挑战第2天】

给你一个下标从 0 开始的整数数组 nums ,它表示一个班级中所有学生在一次考试中的成绩。老师想选出一部分同学组成一个 非空 小组,且这个小组的 实力值 最大,如果这个小组里的学生下标为 i0, i1, i2, ... , ik ,那么这个小组的实力值定义为 nums[i0] nums[i1] nums[i2] ... nums[ik​] 。

请你返回老师创建的小组能得到的最大实力值为多少

示例 1:

输入:nums = [3,-1,-5,2,5,-9]
输出:1350
解释:一种构成最大实力值小组的方案是选择下标为 [0,2,3,4,5] 的学生。实力值为 3 (-5) 2 5 (-9) = 1350 ,这是可以得到的最大实力值。
示例 2:

输入:nums = [-4,-5,-4]
输出:20
解释:选择下标为 [0, 1] 的学生。得到的实力值为 20 。我们没法得到更大的实力值。

提示:

1 <= nums.length <= 13
-9 <= nums[i] <= 9
题解:
直接暴力跑一遍把所有非零数相乘即可判断正负,就是有些地方需要注意:

  1. 如果数组中只有一个数。不管正负都需要范围他,因为题目中说了非空。
  2. 如果全零,也要返回零。
  3. 如果是有一个负数,其余全是零,那么就应该返回0。选零要比选负数大。
  4. 如果积为负数,那么一定要除最小的负数。
class Solution {
public:
    long long maxStrength(vector<int>& nums) {
        long long ans = 1;
        sort(nums.begin(),nums.end());
        int tmp=1;
        for(int i = 0;i<nums.size();i++){
            if(nums[i]>0){
                ans=ans*nums[i];                
            }else if(nums[i]<0){
                ans=ans*nums[i];
                tmp=nums[i];   
            }
        }
        if (nums.size()==1) return nums[0];
        if(nums[0]==0&&nums[nums.size()-1]==0) return 0;
        if(nums[0]<0){
            if(nums.size()>=2){
                if(nums[1]==0&&nums[nums.size()-1]==0) return 0;
            }
            else return nums[0];
        }
        if (ans<0){
            ans=ans/tmp;            
        }
        return ans;
    }
};
目录
相关文章
|
4月前
|
数据挖掘 关系型数据库 MySQL
敏捷项目度量问题之某个成员在「存量缺陷按成员排名」中位居前列如何解决
敏捷项目度量问题之某个成员在「存量缺陷按成员排名」中位居前列如何解决
|
6月前
|
搜索推荐 数据挖掘
CEO和CMO的关系及其对企业成长的影响
CEO和CMO的关系及其对企业成长的影响
|
6月前
|
机器学习/深度学习 人工智能 安全
CIO如何制定议程以实现IT的最终平衡
CIO如何制定议程以实现IT的最终平衡
|
7月前
|
项目管理 测试技术
初创团队如何做好第一个项目
初创团队如何做好第一个项目
652 2
|
程序员 定位技术
很多人都在埋怨没有遇到好的团队,但好的团队不可能凭空出现,一流的团队不能仅靠团队成员努力,作为Leader,要有可行的规划,并坚定地执行、时势地调整(转)
 《西游记》中的唐僧团队历经千难万险,终于求得真经,目标明确、分工合理为这支队伍最终走向成功奠定了基础。唐僧从一开始,就为这个团队设定了西天取经的目标,虽然经历各种挫折与磨难,但目标从未动摇。悟空探路、八戒牵马、沙僧挑担,几位徒弟一起肩负着保护唐僧的任务。
1364 2
周末荐书 | 重塑组织:进化型组织的创建之道
《重塑组织》提出了一种新的组织模式——进化型青色组织。青色组织突破了橙色组织等同于机器、绿色组织等同于家庭的弊端,将组织构建为一个有机的生命系统,一方面能够实现自主管理、灵活进化,驱动真实自我不断地成长;另一方面,又能避免过度讲求感性、多元、感觉行事的弊端,切实提高决策的水平。
1154 0
下一篇
DataWorks