leetcode 1005 Maximize Sum Of Array After K Negations
leetcode 1005 Maximize Sum Of Array After K Negations
- 1.题目描述
- 2.解题思路
- 3.Python代码
1.题目描述
给定一个整数数组 A
,我们只能用以下方法修改该数组:我们选择某个个索引 i
并将 A[i]
替换为 -A[i]
,然后总共重复这个过程 K
次。(我们可以多次选择同一个索引 i
。)
以这种方式修改数组后,返回数组可能的最大和。
示例 1:
输入:A = [4,2,3], K = 1
输出:5
解释:选择索引 (1,) ,然后 A 变为 [4,-2,3]。
示例 2:
输入:A = [3,-1,0,2], K = 3
输出:6
解释:选择索引 (1, 2, 2) ,然后 A 变为 [3,1,0,2]。
示例 3:
输入:A = [2,-3,-1,5,-4], K = 2
输出:13
解释:选择索引 (1, 4) ,然后 A 变为 [2,3,-1,5,4]。
提示:
1 <= A.length <= 10000
1 <= K <= 10000
-100 <= A[i] <= 100
2.解题思路
排序后看小于零数字个数是否小于K,若小于,则全部变为正数后K取除以2的余数,是1的话把最小的数字变为负号即可;若大于,把最小的K个数变号即可。
其实可以使用O(N)的方法判断第K小的数字,时间复杂度更优,快排耗时已经O(NlogN)。
3.Python代码
class Solution(object):def largestSumAfterKNegations(self, A, K):""":type A: List[int]:type K: int:rtype: int"""while min(A)<0 and K>0:A[A.index(min(A))]=-min(A)K=K-1if K%2==1:A[A.index(min(A))]=-min(A)return sum(A)else:return sum(A)
leetcode 1005 Maximize Sum Of Array After K Negations相关推荐
- leetcode 1005. Maximize Sum Of Array After K Negations(python)
描述 Given an array nums of integers, we must modify the array in the following way: we choose an i an ...
- 【LeetCode】Maximize Sum Of Array After K Negations(K 次取反后最大化的数组和)
这道题是LeetCode里的第1005道题. 题目描述: 给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次. ...
- LeetCode1005.Maximize Sum Of Array After K Negations(K 次取反后最大化的数组和)
1005.Maximize Sum Of Array After K Negations(K 次取反后最大化的数组和) Description Difficulty: easy Example 1: ...
- LeetCode.1005-K次取负数组和最大(Maximize Sum Of Array After K Negations)
这是悦乐书的第376次更新,第403篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第237题(顺位题号是1005).给定一个整数数组A,我们必须按以下方式修改数组:我们选 ...
- 1005.E. Maximize Sum Of Array After K Negations
一个数组每次选一个*(-1),K次后求最大sum. desc 思路: 1. 维护最小堆,either in place or not. 2. 细分析负数数量和K奇偶. K<=#负数:翻转最小的K ...
- leetcode 304. Range Sum Query 2D - Immutable |304. 二维区域和检索 - 矩阵不可变(二维前缀和问题)
题目 https://leetcode.com/problems/range-sum-query-2d-immutable/ 题解 本题是 medium 难度,二维前缀和问题.相似题目有: Easy: ...
- LeetCode 167.Two Sum II 解题报告
LeetCode 167.Two Sum II 解题报告 题目描述 Given an array of integers that is already sorted in ascending ord ...
- leetcode 1005 负负得正,整数就取绝对值最小的
1005. K 次取反后最大化的数组和 难度简单246收藏分享切换为英文接收动态反馈 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换 ...
- [勇者闯LeetCode] 1. Two Sum
[勇者闯LeetCode] 1. Two Sum Description Given an array of integers, return indices of the two numbers s ...
最新文章
- 数字三角形,最长上升子序列,背包模型 AcWing算法提高课 (详解)
- mysql校对集_mysql之字符集与校对集
- Linux的unlink
- html中input不可编辑状态,css如何实现input不可编辑
- 选择Vert.x的3个理由
- 14天学会安卓开发(附PDF文档和全部示例代码)
- 软件测试工资高还是运维高,IT行业的6大热门岗位,薪酬都有多高?
- [转载]LM算法的实现
- PLSQL Developer学习笔记
- OpenCV基本函数使用--Python
- SqlServer中char,varchar,nchar,nvarchar的区别
- 二级计算机选择题知识点资源,计算机省二级选择题.txt
- GitHub 热榜:文字识别神器,超轻量级中文 OCR!一个超级厉害的开源库
- 什么是编译、什么是连接。C++代码如何变成机器码,如何跨平台和嵌入式?嵌入式开发
- P13~P14 谋定而后动,知止而有得
- MTK Android 之MT6577驱动笔记
- 如何在php中显示170cm,身高 158cm,怎么穿才能像 170cm?
- 互联网地图栅格比例尺(3857,4326)
- 推式配货(Push)、拉式配货(Pull)和配送需求计划(DRP)的区别
- 8421码、5421码、2421码及余三码