【Java每日一题,优先队列简单题】数组修改

简介: 【Java每日一题,优先队列简单题】数组修改

Introduction

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


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


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


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


Input

第一行输入两个正整数n(数组长度),k(翻转次数)。


随后输入n个整数,即给定数组nums。


Output

输出翻转完毕的最大和。


Sample

input

3 1
4 2 3

output

5

Solution

import java.util.PriorityQueue;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);
        int n=s.nextInt();
        int k=s.nextInt();
        PriorityQueue<Integer> queue=new PriorityQueue();
        for(int i=0;i<n;i++){
            queue.offer(s.nextInt());
        }
        while (k>0){
            int num=queue.poll();
            if(num<0){
                queue.offer(-num);
            }else {
                if(k%2==0){
                    queue.offer(num);
                }else {
                    queue.offer(-num);
                }
            }
            k--;
        }
        int sum=0;
        while (!queue.isEmpty()){
            sum+=queue.poll();
        }
        System.out.println(sum);
    }
}

Experience

总体上没什么难度,第一次使用java 的优先队列,PriorityQueue。之后会用了

相关文章
|
2月前
|
存储 Java
Java数组07:稀疏数组
【8月更文挑战第23天】
27 2
|
2月前
|
Java
|
1天前
|
存储 安全 Java
Java数组(Arrays)详解
Java 中的数组是一种用于存储固定数量同类型数据的高效数据结构,支持连续内存存储和随机访问。数组可以声明并初始化,通过索引访问和修改元素,获取长度,使用循环遍历,支持多维形式,并可通过 `Arrays` 类的方法进行复制和排序。数组具有固定大小和类型安全的特点,但需注意越界等问题。灵活运用数组能显著提升编程效率。
|
14天前
|
存储 Java 数据处理
Java 数组的高级用法
在 Java 中,数组不仅可以存储同类型的数据,还支持多种高级用法,如多维数组(常用于矩阵)、动态创建数组、克隆数组、使用 `java.util.Arrays` 进行排序和搜索、与集合相互转换、增强 for 循环遍历、匿名数组传递以及利用 `Arrays.equals()` 比较数组内容。这些技巧能提升代码的灵活性和可读性,适用于更复杂的数据处理场景。
|
15天前
|
存储 Java
java的Excel导出,数组与业务字典匹配并去掉最后一个逗号
java的Excel导出,数组与业务字典匹配并去掉最后一个逗号
34 2
|
6天前
|
存储 Java
java数据结构,线性表顺序存储(数组)的实现
文章介绍了Java中线性表顺序存储(数组)的实现。线性表是数据结构的一种,它使用数组来实现。文章详细描述了线性表的基本操作,如增加、查找、删除、修改元素,以及其他操作如遍历、清空、求长度等。同时,提供了完整的Java代码实现,包括MyList接口和MyLinearList实现类。通过main函数的测试代码,展示了如何使用这些方法操作线性表。
|
2月前
|
Java
Java数组的应用场景
Java数组的应用场景
29 1
|
2月前
|
存储 机器学习/深度学习 Java
Java数组
Java数组
27 1
|
2月前
|
存储 Java
如何在 Java 中打印字符串数组列表
【8月更文挑战第23天】
30 2
|
2月前
|
存储 Java API
下一篇
无影云桌面