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

2574. 左右元素和的差值

时间:2023-04-08 18:22:49浏览次数:72  
标签:nums int 2574 元素 vector 差值 answer 复杂度

题目链接:2574. 左右元素和的差值

方法:前缀和 + 后缀和

解题思路

第一遍算出 \(nums\) 数组前缀和,第二遍计算 \(answer\) 数组。

代码

class Solution {
public:
    vector<int> leftRigthDifference(vector<int>& nums) {
        int n = nums.size();
        vector<int> answer(n);
        for (int i = 1; i < n; i ++ ) nums[i] += nums[i - 1]; // 前缀和
        for (int i = 0; i < n; i ++ ) {
            if (i == 0) answer[0] = nums[n - 1] - nums[0];
            else answer[i] = abs(nums[i - 1] - nums[n - 1] + nums[i]); // abs(nums[i - 1] - (nums[n - 1] - nums[i]))
        }
        return answer;
    }
};

复杂度分析

时间复杂度:\(O(n)\);
空间复杂度:\(O(1)\),除返回数组空间外无额外空间使用。

标签:nums,int,2574,元素,vector,差值,answer,复杂度
From: https://www.cnblogs.com/lxycoding/p/17298954.html

相关文章

  • 1144. 递减元素使数组呈锯齿状
    题目链接:1144.递减元素使数组呈锯齿状方法:找规律+模拟解题思路对于一个整数数组\(nums\),可以转换为题目中两种锯齿数组,对于两种情况的转换取最小值。并且由于操作只能将一个元素减1,因此:对于第1种情况,只用下标为奇数的元素需要减小到比两边最小值小1;对于第2种情况,只用下......
  • 27. 移除元素
    力扣题目链接给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例1:......
  • JavaScript遍历数组用splice方法删除元素,这样写可能有遗漏,你遇到过吗?
    在编写“圳品”信息系统中,有时需要对二维数组中的数据进行筛选并删除一些元素,比如删除二维数组中首个元素为0的行。开始是用for循环访问数组+splice方法删除元素来做:vara=newArray([0,0,0,0],[1,1,1,1],[0,2,2,2],[......
  • LeetCode习题——在排序数组中查找元素的第一个和最后一个位置(二分查找)
    在排序数组中查找元素的第一个和最后一个位置力扣链接:在排序数组中查找元素的第一个和最后一个位置题目给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]。你......
  • 496. 下一个更大元素 I
    题目链接:496.下一个更大元素I方法一:模拟+哈希表解题思路通过哈希表存储,\(nums\)数组中元素对应的坐标,元素->坐标。然后模拟查找过程。代码classSolution{public:vector<int>nextGreaterElement(vector<int>&nums1,vector<int>&nums2){unordered_......
  • 删除重复元素
    linkcode#include<iostream>#include<unordered_map>usingnamespacestd;intmain(){ unordered_map<char,int>mp; strings; cin>>s; for(inti=0;i<s.size();i++){ mp[s[i]]++; } stringtp=""; for(inti......
  • 给定一个list和一个int数值,循环打印固定范围内list的元素
    比如有一个list,里面有“1,2,3,4,5,6,7,8”这八个元素,再给一个int数值,比如是3,那打印结果就是第一次:1,2,3第二次:4,5,6第三次:7,8,1第四次:2,3,4依次类推...publicstaticvoidmain(String[]args){intstrength=3;List<Integer>indexList=new......
  • 数组里有n个元素,取第一个元素和最后一个元素时间差会很大吗?
    其实呢,不要被这个所迷惑了,数组里面呢无论有多少个元素,它都是通过key值去精确查找哈希表的过程,所以呢,它们所消耗的时间呢,基本就是差不多的,当然,可能会有一些差异,但这个差异的话,可以忽略不计。......
  • html 元素定位与接口请求总结
    1.下拉框环境:测试生产 <selectid="sid"onchange=""style="margin-right:20px;width:100px;"><optionid="dev"value="dev">测试</option><optionid="prod"value="prod"......
  • 元素的多重排序
    应用场景:渲染用户界面时,因为关键的消息和特殊的事件应该优先显示在其他信息之前。numbers=[8,3,1,2,5,4,7,6]//原始数据group={8,3,5,7}//优先级高的数据,defsort_priority(numbers,group):found=Falsedefhelper(x):nonlocalfoun......