leetcode1785:构成特定和需要添加的最少元素(12.16每日一题)

news/2024/11/18 2:40:39/

题目表述:

给你一个整数数组 nums ,和两个整数 limit 与 goal 。数组 nums 有一条重要属性:abs(nums[i]) <= limit 。

返回使数组元素总和等于 goal 所需要向数组中添加的 最少元素数量 ,添加元素 不应改变 数组中 abs(nums[i]) <= limit 这一属性。

注意,如果 x >= 0 ,那么 abs(x) 等于 x ;否则,等于 -x 。

示例 1:

输入:nums = [1,-1,1], limit = 3, goal = -4
输出:2
解释:可以将 -2 和 -3 添加到数组中,数组的元素总和变为 1 - 1 + 1 - 2 - 3 = -4 。
示例 2:

输入:nums = [1,-10,9,1], limit = 100, goal = 0
输出:1
 

提示:

1 <= nums.length <= 10^5
1 <= limit <= 10^6
-limit <= nums[i] <= limit
-109 <= goal <= 10^9

解题思路:

        可以通过算出nums数组和和goal的差,然后判断是否小于或者大于limit,如果小于的话,直接return 1;如果大于,则加上limit减去1除以limit就是需要最少的元素。

        ps:这道题需要注意的就是nums的数组和可能大于int类型最大值。

解题代码:

class Solution {
public:int minElements(vector<int>& nums, int limit, int goal) {int count=0;long long sum=0;for(int i=0;i<nums.size();i++){sum=sum+nums[i];}long long target=abs(goal-sum);count=(target+limit-1)/limit;return count;}
};


http://www.ppmy.cn/news/4192.html

相关文章

【Linux】进程间通信

目录 一、进程间通信背景 1、进程间通信的理解 2、进程间通信的目的 3、进程间的必要性 二、管道 1、什么是管道 2、匿名管道 3、命名管道 4、管道通信的特点 三、System V IPC 1、共享内存 2、进程互斥 总结 一、进程间通信背景 1、进程间通信的理解 进程运行具…

时间哈希+日期处理 睡大觉

E-睡大觉_2022河南萌新联赛第&#xff08;四&#xff09;场&#xff1a;郑州轻工业大学 (nowcoder.com) 题意&#xff1a; 思路&#xff1a; 这是一道模拟题&#xff0c;这里主要总结如何处理时间信息和日期信息 对于时间信息&#xff1a;把时分秒转化成秒&#xff0c;相当…

无法打开jupyter notebook

无法打开jupyter notebook遇到的问题问题分析tornado什么是tornado?如何更新tornado问题解决解决方法一解决方法二参考资料遇到的问题 今天打开anaconda prompt的时候想要打开jupyter notebook,但是遇到的了如下报错: Traceback (most recent call last): File “C:\ProgramD…

通用插件框架体系-日志系统

通用插件框架体系-日志系统: 1.目的 日志是软件系统的基本功能,通过日志可以跟踪代码执行、分析问题。但日志系统作为一个辅助系统也有一些自己的要求。 1.执行效率足够快,不应对主业务产生影响。 2.可以根据需要控制输出的信息类容。 3.能适应复杂的项…

Himall商城支付事件、链接类型

namespace Himall.Core.Plugins.Payment { /// <summary> /// 链接类型 /// </summary> public enum UrlType { /// <summary> /// 普通页面链接 /// </summary> Page, /// <summary> …

Batch Norm 与 Layer Norm

这里写自定义目录标题1 为何要对输入数据做 Normalization2 Batch Normalization3 Layer Normalization4 实际应用参考1 为何要对输入数据做 Normalization 可以比较好的抑制梯度消失和梯度爆炸的情况 归一化技术就是让每一层的分布稳定下来&#xff0c;让后面的层能在前面层…

基于java的贪吃蛇游戏-计算机毕业设计

项目介绍 本游戏采用Java环境和Eclipse开发工具&#xff0c;开发了一个界面美观&#xff0c;操作简单并且功能齐全的贪食蛇游戏&#xff0c;整个游戏分为了10个类&#xff0c;实现了游戏的开始、结束、暂停&#xff0c;通过了本游戏的开发&#xff0c;达到了学习Java及Java GU…

Python编程 函数的定义与参数

作者简介&#xff1a;一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.函数 1.函数例子 不会让代码重复的出现。CVout 2.函数介绍(熟悉) 3.…