当前位置: 首页> 健康> 科研 > 搭建个网站需要多少钱_开发app小程序_百度的营销中心上班怎么样_郑州seo技术顾问

搭建个网站需要多少钱_开发app小程序_百度的营销中心上班怎么样_郑州seo技术顾问

时间:2025/7/11 14:24:16来源:https://blog.csdn.net/Aerochacha/article/details/144771947 浏览次数:0次
搭建个网站需要多少钱_开发app小程序_百度的营销中心上班怎么样_郑州seo技术顾问

题目描述:

给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组:

  • 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。

重复这个过程恰好 k 次。可以多次选择同一个下标 i 。

以这种方式修改数组后,返回数组 可能的最大和 。

 

示例 1:

输入:nums = [4,2,3], k = 1
输出:5
解释:选择下标 1 ,nums 变为 [4,-2,3] 。

示例 2:

输入:nums = [3,-1,0,2], k = 3
输出:6
解释:选择下标 (1, 2, 2) ,nums 变为 [3,1,0,2] 。

示例 3:

输入:nums = [2,-3,-1,5,-4], k = 2
输出:13
解释:选择下标 (1, 4) ,nums 变为 [2,3,-1,5,4] 。

 

提示:

  • 1 <= nums.length <= 104
  • -100 <= nums[i] <= 100
  • 1 <= k <= 104

 

我的作答:

呃呃,首先按绝对值大小从大到小排序(小到大也一样),然后两次贪心:

(1)遍历数组,碰到负数则取反(保证和最大),同时消掉一次k取反机会

(2)如果遍历完数组k还没用完,当k为偶数的时候,就把k反复给同一个元素取反直到k==0,取反偶数次该元素没变化,所以可以直接return;当k为奇数的时候,相当于多余一个取反次数,给最后一个元素取反,因为此时数组都不是负数,而该元素的绝对值最小,对和的负影响最小;

class Solution(object):def largestSumAfterKNegations(self, nums, k):""":type nums: List[int]:type k: int:rtype: int"""nums = sorted(nums, key=abs, reverse=True) #按绝对值从大到小,从小到大Falsefor i in range(len(nums)):if nums[i]<0 and k>0:nums[i] = -nums[i] #负数取反k -= 1if k%2==1: nums[-1] = -nums[-1] #k为奇数,对最后一个元素取反return sum(nums)

d998307d526a4dc199c221d29a7d4bed.png

好烦好烦..............................不想学习。。。已经无法静下心来思考一道题了。。。为什么每天都想吃甜的啊啊啊啊??又得长胖了。。。。。。。。。。

 

参考:

差不多,不放了

 

关键字:搭建个网站需要多少钱_开发app小程序_百度的营销中心上班怎么样_郑州seo技术顾问

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: