postgresql 遍历字符串数组_每日一道编程题(348):1005.K次取反后最大化的数组和...

1005.K次取反后最大化的数组和

每日编程中遇到任何疑问、意见、建议请公众号留言或直接撩Q474356284(备注每日编程)

给定一个整数数组 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. 1 <= A.length <= 10000

  2. 1 <= K <= 10000

  3. -100 <= A[i] <= 100

f06342419df4e88e5fe344873d756143.gif
解决方法:

(1)算法的基本思想:

算法一:

只要K未减为0,每次都找到数组的最小值,将其取反,最后求和。

算法二:

对数组从大至小排序,遍历数组。

如果当前数组元素大于0,则加至res

如果当前数组元素小于0,

        K大于0,则取反,加至res中

        K小于等于0,直接加至res中

遍历完数组后对K进行判断,如果K为奇数,则res需要减去最后一个元素(最小值)的2倍。

(注:比如4,3,2数组,K = 1,res = 4+3+2,如果K为偶数,我们可以将2取反变成-2,再取反变成2,但是如果K为奇数,我们总要将数组中的其中一个数取反,而在遍历数组的过程中,我们遇到正的就加起来了,并未取反,所以最后需要减掉最小值的2倍)

(2)代码实现:

class Solution
{
public:
    int largestSumAfterKNegations(vector<int> &A, int K){
        while (K--)
        {
            auto smallest = min_element(begin(A), end(A));
            (*smallest) *= -1;
        }
        return accumulate(A.begin(), A.end(), 0);
    }
};
class Solution
{
public:
    int largestSumAfterKNegations(vector<int> &A, int K){
        sort(A.begin(), A.end(), [](int a, int b) { return abs(a) > abs(b); });

        int res = 0;

        for (int ele : A)
        {
            if (ele >= 0)
                res += ele;
            else
                K > 0 ? res += -ele, K-- : res += ele;
        }
        // res = x + abs(s) ==> what we want is res = x - abs(s), so:
        if (K % 2)
            res -= 2 * abs(A.back());

        return res;
    }
};
明日预告:中南大学上机题(一)

大家都很关心考试的难易程度。K老师出题有一个规律,在出题之前,他会随机写下一个字符串,只要在这个字符串中能按顺序找到E,A,S,Y四个字母,他出题就会比较简单。你拿到了字符串,请你告诉别人题目难不难吧。

输入格式:

输入的数据有多组,每组占一行,由一个字符串组成(字符串的长度不超过1000)。

输出格式:

对于每组输入数据,输出一行,对应一个要求的答案(题目简单就输出easy,难就输出difficult)

输入样例:

eAsy
SEoAtSNY

输出样例:

difficult
easy
491a0b5a62d6f25816ed8056f7b9150a.png

c7388afbfaeb7c206cc9df85f39d6090.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507322.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python读取mysql数据_Selenium(Python) ddt读取MySQL数据驱动

import unittest from time import sleep from ddt import ddt, data from pymysql import connect from selenium import webdriver def getMySQLTestData(): # 查询数据库的方法 db connect(host"localhost", user"root", password"123456", …

签字后被开除_员工虚假报销公司可以开除吗?

大家好&#xff0c;我是法小明。今天继续和大家聊聊劳动法那些事&#xff0c;很多企业都会有报销制度&#xff0c;但制度难免会有漏洞&#xff0c;如果劳动者钻空子的话公司可以解除劳动合同吗&#xff1f;我们一起看看下面这个例子&#xff1a;小案例陈某系某公司员工&#xf…

python创建sqlite3数据库_树莓派使用 Python + SQLite 建立温度数据库

相比 MySQL 而言&#xff0c;SQLite 更为轻便、易于维护和部署。本文使用Python向SQLite数据库中插入树莓派温度数据&#xff0c;SQLite数据库中包含一张只包含三个字段的记录表——参数名称&#xff0c;时间和温度值。本文重点解释Python操作SQlite的具体方法&#xff0c;由于…

论文笔记:推荐系统去偏(Debiased Recommendation)研究综述

1 推荐系统的偏差 出现偏差的原因&#xff1a;用户行为数据是观察所得(Observational)而不是实验所得(Experimental)&#xff0c;因此会存在各种偏差&#xff0c;如用户对物品的选择偏差、系统对物品的曝光偏差等&#xff1b;偏差带来的问题&#xff1a;不考虑偏差&#xff0c…

c++ 内存管理_Python Bindings - 从 Python 调用 C/C++

python 最被人诟病的问题是什么&#xff1f; 慢&#xff0c;这是被人诟病最多的问题&#xff0c;很少人知道具体原因&#xff0c;极少人愿意去深入了解并找到原因&#xff0c;更极少的人愿意付出时间去解决这个问题&#xff0c;很多人都是停留在抱怨吐槽阶段&#xff0c;知乎上…

python安装idle_(1)Python 安装使用IDLE

安装Windows x86 web-based installer 在线安装 Windows x86 executable installer 离线安装 x86-64 64位软件 配置环境变量path下添加 python安装路径 查看版本号&#xff1a;运行Python 输入 help()一、IDLE介绍 IDLE是Python自带简单的集成开发环境&#xff0c;安装python的…

S-MBRec学习笔记

1 动机 传统推荐系统一般只考虑购买行为&#xff0c;忽略了放入购物车、浏览行为&#xff1b;本文将购买、放入购物车、浏览三个行为一起考虑&#xff1b;考虑购买和放入购物车行为的差异&#xff0c;进行对比学习&#xff1b;考虑购买和浏览行为的差异&#xff0c;进行对比学…

小米5点位图_最新!地铁5号线、6号线部分车站文化墙设计出炉!你选哪个?

情忆汉长安、惊鸿游龙、星辰大海……这些绝美的名字属于地铁文化墙近日西安地铁5号线和6号线一期工程的6座车站文化墙设计方案新鲜出炉邀请广大市民乘客对文化墙设计进行投票并提出宝贵建议西安地铁“一站一景”一直以来&#xff0c;西安地铁因其“一站一景”的独立logo设计、精…

python 编辑距离_最小编辑距离python

1 什么是编辑距离 在计算文本的相似性时&#xff0c;经常会用到编辑距离&#xff08;Levenshtein距离&#xff09;&#xff0c;其指两个字符串之间&#xff0c;由一个字符串转成另一个所需的最少编辑操作次数。在字符串形式上来说&#xff0c;编辑距离越小&#xff0c;那么两个…

asp多表查询并显示_MySQL多表查询与事务

回顾1. DQL单表高级查询条件 where比较运算逻辑运算符in关键字between关键字if null关键字like关键字% 多个任意字符_ 单个任意字符排序 order byascdesc聚合函数count(*) 统计行&#xff0c;包括null值maxminavgsum分组 group by 分组字段 having 分组后条件过滤分页 limit 开…

Bias and Debias in Recommender System: A Survey and Future Directions学习笔记

1 引言 2006-2020发表的有关推荐系统去偏的论文统计&#xff1a; 2 推荐系统的偏差 偏差发生在推荐系统的不同阶段&#xff1a; 用户交互到生成数据的阶段&#xff1a; – 选择偏差&#xff1a; – 一致性偏差&#xff08;从众偏差&#xff09;&#xff1a; – 曝光偏差&a…

卡扇区数据教程_分享一款硬盘分区和数据恢复软件

最近有朋友留言&#xff0c;自己的硬盘被格式化了&#xff0c;没法恢复。今天给大家介绍一款解决硬盘恢复软件--DiskGenius&#xff0c;文末附下载地址&#xff0c;觉得有用点个在看吧。DiskGenius是一款功能非常强大的硬盘分区及数据恢复软件&#xff0c;算法精湛、功能强大&a…

名图1.8智能隐藏功能_7年后再度回归 全新一代名图“大”不同_搜狐汽车

本文车型速览除了文章作者的主观观点外&#xff0c;我们正尝试基于全网可查的客观数据&#xff0c;为您提供中立、客观的参考依据&#xff1a;本文部分车型速览&#xff1a;畅销车型质量排行top10展开微信扫码&#xff0c;直接一次看完附近所有城市低价(附近城市均有经销商可售…

3 vue 线条箭头_线条眉要如何处理才能更自然?

更多纹绣内容关注公众号&#xff1a;法米索半永久学堂。眉头的操作确实不是一件容易的事&#xff0c;都说万事开头难&#xff0c;很多纹绣师把握不好眉头的操作技巧&#xff0c;一不小心就会把眉头做的方了、圆了&#xff0c;总之就是非常不自然。但只要我们把眉头做好了&#…

git rebase用法_Git:Clone别人的代码之后push到自己码云上失败的解决办法

最近也是刚开始使用gitee&#xff0c;比较生疏。场景是这样的&#xff1a;clone了朋友的一份代码到自己的本地&#xff0c;然后自己想把它保存到自己的gitee 私有仓库上&#xff0c;就在gitee上面创建了一个私有的仓库&#xff0c;然后多次push都失败了&#xff0c;实践了网上提…

fpga板子怎么和电脑连_windows7台式电脑怎么连接路由器?台式win7电脑连路由器步骤...

相信还有许多在使用windows7系统&#xff0c;尽管使用很长一段时间了&#xff0c;不过对win7系统的一些功能还是不太了解。大家家里应该都有路由器&#xff0c;那么windows7台式电脑怎么连接路由器&#xff0c;下面我们就一起来看看台式win7电脑连接路由器步骤。win7台式电脑连…

英特尔核显自定义分辨率_让免费的核显更好用!英特尔酷睿集成的GPU如何优化?...

点击上方电脑爱好者关注我们在笔记本领域&#xff0c;无论是英特尔酷睿还是AMD锐龙&#xff0c;都采取了“买一赠一”的策略&#xff0c;即都在处理器内集成了性能还不赖的核显&#xff0c;虽然它们无法驾驭3A游戏大作&#xff0c;但应对《英雄联盟》级别的游戏还是不成问题的。…

python脚本式编程_Python编程入门(一)

Python编程入门&#xff08;一&#xff09;概述&#xff1a;编程语言 1.脚本编程语言★脚本编程语言如php&#xff0c;perl&#xff0c;python&#xff0c;java等为脚本编程语言&#xff0c;通常需要通过解释器解释运行。 ★python&#xff08;java&#xff09;程序的执行过程s…

for循环里面有异步操作_JS 线程与异步的那些事

已知&#xff0c;JavaScript 是单线程的&#xff0c;天生异步&#xff0c;适合 IO 密集型&#xff0c;不适合 CPU 密集型&#xff0c;但是&#xff0c;为什么是异步的喃&#xff0c;异步由何而来的喃&#xff0c;我们将在这里逐渐讨论实现。一、进程与线程1. 浏览器是多进程的它…

FDRNet: Fourier Document Restoration for Robust Document Dewarping and Recognition学习笔记

1 广告 这篇工作由字节跳动商业化技术团队与新加坡南洋理工大学合作完成。 话不都说&#xff0c;先看效果&#xff1a; FDRNet的效果看上去有点好&#xff0c;可惜没有源代码提供。 2 相关工作 2.1 几何形变恢复方法Geometric Document Restoration 由相机传感器捕获的文档…