首页 > 其他分享 >力扣-2574-左右元素和的差值

力扣-2574-左右元素和的差值

时间:2023-10-10 09:22:07浏览次数:39  
标签:vector rightSum 2574 nums 力扣 leftSum 差值 数组 answer

给你一个下标从 0 开始的整数数组 nums ,请你找出一个下标从 0 开始的整数数组 answer ,其中:

answer.length == nums.length
answer[i] = |leftSum[i] - rightSum[i]|
其中:

leftSum[i] 是数组 nums 中下标 i 左侧元素之和。如果不存在对应的元素,leftSum[i] = 0 。
rightSum[i] 是数组 nums 中下标 i 右侧元素之和。如果不存在对应的元素,rightSum[i] = 0 。
返回数组 answer 。

 

示例 1:

输入:nums = [10,4,8,3]
输出:[15,1,11,22]
解释:数组 leftSum 为 [0,10,14,22] 且数组 rightSum 为 [15,11,3,0] 。
数组 answer 为 [|0 - 15|,|10 - 11|,|14 - 3|,|22 - 0|] = [15,1,11,22] 。
示例 2:

输入:nums = [1]
输出:[0]
解释:数组 leftSum 为 [0] 且数组 rightSum 为 [0] 。
数组 answer 为 [|0 - 0|] = [0] 。

class Solution {
public:
    vector<int> leftRightDifference(vector<int>& nums) {
        vector<int> leftnum;
        vector<int> rightnum;
        vector<int> ans;
        int i=0,j=nums.size()-1,n=nums.size()-1;
        int left=0,right=0;
        leftnum.push_back(0);
        rightnum.push_back(0);
        while(i<nums.size()&&j>0){
            left+=nums[i];
            right+=nums[j];
            leftnum.push_back(left);
            rightnum.push_back(right);
            i++;
            j--;
        }
        for(int i=0;i<nums.size();i++){
            ans.push_back(abs(leftnum[i]-rightnum[n-i]));
        }
        return ans;
    }
};

 

标签:vector,rightSum,2574,nums,力扣,leftSum,差值,数组,answer
From: https://www.cnblogs.com/life-pinggen/p/17753735.html

相关文章

  • 力扣-2114-句子中的最多单词数
    一个句子由一些单词以及它们之间的单个空格组成,句子的开头和结尾不会有多余空格。给你一个字符串数组sentences,其中sentences[i]表示单个句子。请你返回单个句子里单词的最多数目。 示例1:输入:sentences=["aliceandbobloveleetcode","ithinksotoo","......
  • 八股乱背,力扣不会!下辈子远离计算机
    昨天接到了许久未见老友的一个电话,片刻寒暄之后聊到主题:朋友受人之托,帮人打听家中小孩选择计算机专业之后的就业问题的。既然是朋友,自然不敢欺瞒,就把目前计算机就业相关的真实情况如实“汇报”了。那么计算机行业现状如何呢?大家看这幅图自然就明白了:杭州一家不知名的公司(我从......
  • 力扣刷题笔记-08 字符串转整数
    08字符串转整数属于对字符串进行操作的问题百无一用是情深问题字符串里有数字,空格,正负号等,需要先过滤出来在这道题目里,我们通常考虑字符串的组合是“空格+正负号+数字”,一开始我想可能是“正负号+空格+数字”,但是这样的组合根本不可能是数字啊,没什么意义。循环条件for循......
  • 力扣刷题笔记-07 整数反转
    07整数反转狗看了都摇头的年纪,纯爱战士一败涂地。怎么反转temp用来保存个位数res用来保存当前结果123,取模运算,这样就可以获得最后一位。比如对123%10,得到temp=3.判断res是不是溢出(重点)如果没有溢出,res扩大十倍,再加上个位数,就相当于是反转了。res=res*10+temp;返回......
  • 力扣-2427-公因子的数目
    给你两个正整数a和b,返回a和b的公因子的数目。如果x可以同时整除a和b,则认为x是a和b的一个公因子。 示例1:输入:a=12,b=6输出:4解释:12和6的公因子是1、2、3、6。示例2:输入:a=25,b=30输出:2解释:25和30的公因子是1、5。提示:1<=a,......
  • 力扣-2535-数组元素和与数字和的绝对差
    给你一个正整数数组nums。元素和是nums中的所有元素相加求和。数字和是nums中每一个元素的每一数位(重复数位需多次求和)相加求和。返回元素和与数字和的绝对差。注意:两个整数x和y的绝对差定义为|x-y|。 示例1:输入:nums=[1,15,6,3]输出:9解释:nums的元素......
  • 力扣-1512-好数对的数目
    给你一个整数数组nums。如果一组数字(i,j)满足nums[i]==nums[j]且i<j,就可以认为这是一组好数对。返回好数对的数目。 示例1:输入:nums=[1,2,3,1,1,3]输出:4解释:有4组好数对,分别是(0,3),(0,4),(3,4),(2,5),下标从0开始示例2:输入:nums=[1,1,1,1]输出......
  • 力扣-LCP 06-拿硬币
    桌上有n堆力扣币,每堆的数量保存在数组coins中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。示例1:输入:[4,2,1]输出:4解释:第一堆力扣币最少需要拿2次,第二堆最少需要拿1次,第三堆最少需要拿1次,总共4次即可拿完。示例2:输入:[2,3,10......
  • 力扣-1646-获取生成数组中的最大值
    给你一个整数n。按下述规则生成一个长度为n+1的数组nums:nums[0]=0nums[1]=1当2<=2*i<=n时,nums[2*i]=nums[i]当2<=2*i+1<=n时,nums[2*i+1]=nums[i]+nums[i+1]返回生成数组nums中的最大值。 示例1:输入:n=7输出:3解释:根据规则:......
  • 力扣---189. 轮转数组
    给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例1:输入:nums=[1,2,3,4,5,6,7],k=3输出:[5,6,7,1,2,3,4]解释:向右轮转1步:[7,1,2,3,4,5,6]向右轮转2步:[6,7,1,2,3,4,5]向右轮转3步:[5,6,7,1,2,3,4]示例 2:输入:nu......