首页 > 其他分享 >LeetCode:3264、K次乘运算后的最终数组I

LeetCode:3264、K次乘运算后的最终数组I

时间:2024-12-13 14:33:29浏览次数:6  
标签:index nums int min 3264 数组 multiplier 操作 LeetCode

题目:

给你一个整数数组 nums ,一个整数 k 和一个整数 multiplier

你需要对 nums 执行 k 次操作,每次操作中:

找到 nums 中的 最小x ,如果存在多个最小值,选择最 前面 的一个。
x 替换为 x * multiplier
请你返回执行完 k 次乘运算之后,最终的 nums 数组。

示例 1:

输入:nums = [2,1,3,5,6], k = 5, multiplier = 2
输出:[8,4,6,5,6]
解释:
操作 结果
1 次操作后 [2, 2, 3, 5, 6]
2 次操作后 [4, 2, 3, 5, 6]
3 次操作后 [4, 4, 3, 5, 6]
4 次操作后 [4, 4, 6, 5, 6]
5 次操作后 [8, 4, 6, 5, 6]

示例 2:

输入:nums = [1,2], k = 3, multiplier = 4
输出:[16,8]
解释:
操作 结果
1 次操作后 [4, 2]
2 次操作后 [4, 8]
3 次操作后 [16, 8]

代码:

这道题很简单,第一眼就能看出来用一个双层循环就能求解,第一层控制乘的次数,第二次去寻找每次操作前的最小值,注意min和index的更新就可以。

点击查看代码
class Solution {
public:
    vector<int> getFinalState(vector<int>& nums, int k, int multiplier) {
        int min = INT_MAX;
        for (int i = 0; i < k; i++)
        {
            int index = 0;
            min = INT_MAX;
            for (int j = 0; j < nums.size(); j++)
            {
                if (nums[j] < min)
                {
                    min = nums[j];
                    index = j;
                }
            }
            nums[index] = nums[index] * multiplier;
        }
        return nums;
    }
};

标签:index,nums,int,min,3264,数组,multiplier,操作,LeetCode
From: https://www.cnblogs.com/souyou/p/18604897

相关文章

  • 【数据结构与算法图解】学习笔记(第一章)①:分析数组操作过程中的时间复杂度
    文章目录前言一、第一章:数据结构为何重要1.概念(步数,时间复杂度)【第一个理论】:书中的第一个重要理论:操作的速度,并不按时间计算,而是按`步数`计算。2,了解数组2.1通过(读取,查找,插入,删除)来分析2.1.1读取(看任意索引上的值)2.1.2查找(看数组/列表中有没有该值)2.1.3插入(往......
  • 第三章 3.1 表示图像 理解灰度图、RGB图和数组的关系
    图片与脚本文件放在一个文件夹内,同级。图片网上找一个就可以了。#https://github.com/PacktPublishing/Modern-Computer-Vision-with-PyTorch#https://github.com/PacktPublishing/Modern-Computer-Vision-with-PyTorch###################ChapterThree##############......
  • 如何在Flash绝对地址写入常量数组数据
    目录文章目录背景一、问题现象及分析1、分析2、分析3、分析二、尝试方法1.方法2.方法三、结果四、总结背景出于项目要求,需要在STM32F407VETx芯片的Flash绝对地址写入常量数组数据,例如在0x0807F920处写入数组uint8_tMyFlashArray[4]={0x12,0x34,0x56......
  • Google Kickstart2022 Round G Problem C 快乐子数组
    有点思路,但还需要细想思路一眼上去,应该是写单调队列,但是不是像写滑动窗口一样写设前缀和为pre,如果一个区间\([l,r]\)满足条件,那么\(pre[l-1]<min(pre[l],pre[l+1],.....,pre[r]\)根据这一点,我们每次枚举到i,只需要统计左端有多少个相对应的j使得pre[j]<pre[i]即可,这时就可以......
  • 写一个方法检测指定的数组是否有重复的元素
    前端JavaScript中有多种方法可以检测数组中是否有重复元素。以下列出几种常见且有效的方法,并解释其优缺点:1.使用Set数据结构:这是最简洁和高效的方法之一。Set对象只允许存储唯一值,利用这个特性,我们可以轻松判断数组中是否有重复元素。functionhasDuplicates(arr){r......
  • .net 数组与字符串、集合之间互转
    1、数组与字符串互转stringstr="1,2,3,4,5,6,7";string[]strArray=str.Split(',');//字符串转数组str=string.Empty;str=string.Join(",",strArray);//数组转成字符串2、声明数组.第一种方法.声明并分配元素大小.int[]Myint=newint[30];Myint[0]=3......
  • 写一个方法,批量删除指定索引的数组元素
    /***批量删除数组中指定索引的元素。**@param{Array}arr原数组*@param{Array<number>}indices要删除的元素的索引数组,必须按升序排列*@returns{Array}删除元素后的新数组,不会修改原数组*/functionremoveElementsAtIndexes(arr,indices){if(!Array......
  • 搞定leetcode面试经典150题之链表
    系列博客目录文章目录系列博客目录理论知识双向链表例题206.反转链表27.回文链表141.环形链表21.合并有序链表2.两数相加19.删除链表的倒数第N个结点138.随机链表的复制理论知识链表是数据结构中一种非常常见且基础的结构,在Java中,链表被广泛应用于解决动态......
  • leetcode 1750. 删除字符串两端相同字符后的最短长度
    1750.删除字符串两端相同字符后的最短长度注意审题,是相同的字符,而不是相同的字符串。所以对于abcccab来说就是输出7classSolution{public:intminimumLength(strings){intleft=0,right=s.size()-1;while(left<right){if(......
  • leetcode 125. 验证回文串
    125.验证回文串二刷,用时3ms,内存9.81MB一定要注意,是移除所有除了数字、字母以外的字符classSolution{public://'a'-'A'=32boolisPalindrome(strings){intleft=0,right=s.size()-1;while(left<right){while(left<......