2023-07-15力扣今日三题

链接:

2366. 将数组排序的最少替换次数

题意:

一个正整数数组nums,每次操作可以将一个数字拆分成两个数字(C=>A+B),然后放回原来的位置(XCX=>XABX或XBAX),求将这个数组变成非递减数组的最少操作次数

解:

连摇三题困难真是蚌埠住了,前两题写不出来,本来这题也想要摇掉了,看了一眼这题标签是个贪心,又瞄了一眼提示,搞一哈

首先最后一个数字不应该拆,因为要非递减,最后数字越大越好,然后就是平均分可以保留更大的数字

然后从后往前遍历,如果这个数字(now)比后面这个数字(after)大,则我要拆分,同时拆分时要保留最大的数字,则用now/after计算拆分的组数,注意当now%after!=0结果需要加一,同时将拆分组数-1(需要次数)加入答案,然后将now拆为now/f

比如21 7,可知拆分为3个7;但是15 7,也是拆分3组(15//7+1),一组就是5(平均分保留最大的数字)

实际代码:

#include<bits/stdc++.h>
using namespace std;
long long minimumReplacement(vector<int>& nums)
{long long int ans=0;if(nums.size()<=1) return 0;auto it=nums.rbegin();for(int after=*it++;it!=nums.rend();it++){int now=*it;if(now>after){int f=now/after;if(now%after) f++;ans+=(f-1);*it=now/f;//cout<<f<<endl;}after=*it;}return ans;
}
int main()
{vector<int> nums;int temp;cout<<"Ctrl + Z to input EOF"<<endl;while(cin>>temp){nums.push_back(temp);}int ans=minimumReplacement(nums);cout<<ans<<endl;return 0;
}

限制:

  • 1 <= nums.length <= 105
  • 1 <= nums[i] <= 109

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

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

相关文章

DevOps系列文章 之 Docker in Docker

一、 背景介绍 工作中&#xff0c;要实现在docker中运行docker&#xff0c;实现镜像的拉取&#xff0c;创建&#xff0c;修改&#xff0c;上传等操作。尝试过在docker中&#xff0c;安装docker。行不通&#xff0c;服务起不来。而且直接在 docker 容器内嵌套安装 docker 未免…

Android Glide预加载preload ,kotlin

Android Glide预加载preload ,kotlin val imageView findViewById<ImageView>(R.id.image_view)Glide.with(this).asBitmap().load(image_file.path).signature(ObjectKey(image_file.path)).addListener(object : RequestListener<Bitmap> {override fun onLoadF…

Unity UnityWebRequest使用http与web服务器通讯

一、搭建客户端与服务器http通讯 1.在Nodejs中文官网Node.js 中文网 (nodejs.com.cn)&#xff0c;下载并安装Nodejs 2.在项目文件夹下新建WebServer文件夹&#xff0c;打开CMD窗口&#xff0c;在WebServer文件夹路径下安装express 3.在WebServer文件夹中新建main.js文件&#…

Pytorch基本使用—参数初始化

深度学习模型参数初始化是指在训练深度神经网络时&#xff0c;对网络的权重和偏置进行初始化的过程。合适的参数初始化可以加速模型的收敛&#xff0c;并提高模型的性能。 ✨ 1 基本介绍 在深度学习中&#xff0c;常用的参数初始化方法有以下几种&#xff1a; 零初始化&#…

哈希结构(详解)

目录 哈希表 哈希表原理 散列函数 哈希冲突和处理的办法 哈希集合 哈希集合的实现 哈希映射 哈希映射的基本操作 哈希映射的实现 哈希表 散列表&#xff08;Hash table&#xff0c;也叫哈希表&#xff09;&#xff0c;是根据关键码值(Key)而直接进行访问的数据结构 …

1、QT新建工程

本章内容&#xff1a;本章建立一个简单的QT工程&#xff0c;并且对工程目录进行重新管理&#xff0c;再进行windows端打包部署&#xff0c;方便开发 一、建立工程 创建windows UI应用程序工程 到此&#xff0c;工程就已经建立完毕能正常运行了… 二、工程目录重新管…

lvs + keepalived

Keepalived及其工作原理 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案&#xff0c;可以解决静态路由出现的单点故障问题。 在一个LVS服务集群中通常有主服务器&#xff08;MASTER&#xff09;和备份服务器&#xff08;BACKUP&#xff09;两种角色的服务器&#x…

ES(1)简介和安装

文章目录 简介倒排索引 安装 简介 ES是面向文档型数据库&#xff0c;一条数据在这里就是一个文档。 和关系型数据库大致关系如下: ES7.x中废除掉Type&#xff08;表&#xff09;的概念 倒排索引 要知道什么是倒排索引&#xff0c;就要先知道什么是正排索引 idcontent100…

Django 分布式路由

简介&#xff1a; Django中&#xff0c;主路由配置文件(urls.py)可以不处理用户具体路由&#xff0c;主路由的配置文件可以配置成做请求的分发&#xff08;分布式请求处理&#xff0c;分发到子路由而不是具体的视图函数&#xff09;。具体的请求可以由各自的应用来处理。 步骤…

(vue)整个页面添加背景视频

(vue)整个页面添加背景视频 App.vue <template><div id"app" :class"[platform]"><video src"./assets/images/top/bg-video-711.mp4" autoplay muted loop class"bg"></video><router-view /></di…

校园网WiFi IPv6免流上网

ipv6的介绍 IPv6是国际协议的最新版本&#xff0c;用它来取代IPv4主要是为了解决IPv4网络地址枯竭的问题&#xff0c;也在其他很多方面对IPv4有所改进&#xff0c;比如网络的速度和安全性。 IPv4是一个32位的地址&#xff0c;随着用户的增加在2011年国家报道说IPv4的网络地址即…

QT开发技巧之嵌入式linux QT的QCombobox显示空白的问题

1.问题 开发平台&#xff1a;imx6ull qt版本&#xff1a;5.12.9 在嵌入式linux上运行的qt&#xff0c;QCombobox显示空白&#xff0c;不能显示其中的文本内容 2.解决办法 选中QCombobox&#xff0c;在属性栏中将foucsPolicy由WheelFocus改成NoFocus就好了

Spring Boot集成ElasticsearchRepository

Spring Boot集成ElasticsearchRepository 在上文springboot操作elasticsearch(简易版&#xff09;中&#xff0c;我们使用了elasticsearchRestTemplate操作索引及数据&#xff0c;本文主要是介绍elasic媲美数据库连接框架hibernate的数仓ElasticsearchRepository 在本文中&…

scrapy ---分布式爬虫

导模块 pip install scrapy-redis 原来scrapy的Scheduler维护的是本机的任务队列&#xff08;待爬取的地址&#xff09;本机的去重队列&#xff08;放在集合中&#xff09;---》在本机内存中 如果把scrapy项目&#xff0c;部署到多台机器上&#xff0c;多台机器爬取的内容是重…

Win10电脑开机PIN码怎么取消?

有的用户稀里糊涂的设置了PIN码之后&#xff0c;在开机时发现多了个PIN码&#xff0c;但又不知道电脑PIN码是什么意思&#xff0c;也不清楚开机PIN码怎么取消。您可以通过阅读以下内容&#xff0c;以了解什么是PIN以及如何取消PIN码。 PIN码是一种快捷登录密码方式&#xff0c;…

云计算的学习(六)

六、云计算的发展趋势 1.云计算相关领域介绍 1.1物联网 物联网来源于互联网&#xff0c;是万物互联的结果&#xff0c;是人和物、物和物之间产生通信和交互。 物联网主要技术&#xff1a; RFID技术&#xff08;射频识别技术&#xff09;传感器技术嵌入式系统技术 1.2大数据…

OpenCV - 图片增加透明通道,图片合并透明通道

1 为图像增加透明通道 一般人像抠图相关的AI模型会输出一个Mask图&#xff0c;这个Mask图就是我们需要的可以将人物抠出来的Alpha通道信息&#xff0c;我们需要将这个Mask图附加到原始图片上&#xff0c;从BGR图片转成BGRA图片或者从RGB图片转成RGBA图片。 如果使用OpenCV进行…

Matplotlib.pyplot接口汇总

Matplotlib 中的 pyplot 模块是一个类似命令风格的函数集合&#xff0c;这使得 Matplotlib 的工作模式和 MATLAB 相似。 pyplot 模块提供了可以用来绘图的各种函数&#xff0c;比如创建一个画布&#xff0c;在画布中创建一个绘图区域&#xff0c;或是在绘图区域添加一些线、标签…

win系统电脑在线打开sketch文件的方法

自Sketch诞生以来&#xff0c;只有Mac版本。Windows计算机如何在线打开Sketch文件&#xff1f; 即时设计已经解决了你遇到的大部分问题&#xff0c;不占用内存也是免费的。 您可以使用此软件直接在线打开Sketch文件&#xff0c;完整预览并导出CSS、SVG、PNG等&#xff0c;还具…

【工具推荐】企业微信、企业飞书接口调用工具

github地址: GitHub - fasnow/idebug: 企业微信、企业飞书接口调用工具。 简介 企业微信、企业飞书接口调用工具。 使用方法 wechat模块 使用use wechat 选择模块。 首先设置corpid和corpsecret&#xff0c;如有需要可以设置代理&#xff0c;之后再执行run命令。 导出通信…