当前位置: 首页 > news >正文

【力扣每日一题】2023.7.25 将数组和减半的最少操作次数

目录

题目:

示例:

分析:

代码+运行结果:


题目:

示例:

分析:

题目给我们一个数组,我们每次可以将任意一个元素减半,问我们操作几次之后才可以将整个数组的和减半,这里的减半不是刚好减半,而是至少减去一半,所以我们多减一点是没关系的。

如果题目涉及到什么最大最小最多最少,那么我们大概率都是要用到贪心的思想。

既然要操作次数最小,那么我们每次把元素减半都应该尽量多减少一点,所以每次减少元素的一半,我们都应该把数组里最大的元素给减半。

那么我们就可以使用优先队列(大顶堆)来帮助我们维护数组的最大元素,然后每次把队列顶端(最大的数)拿出来,减半以后再放回去,并且把数组和对应的减去这个元素的一半。

如此循环操作直到数组和成功减半,我们返回次数即可。

代码+运行结果:

class Solution {
public:int halveArray(vector<int>& nums) {double SUM=0;priority_queue<double>pq;   //大顶堆(优先队列)for(const int &num:nums){   //统计总和并进入大顶堆SUM+=num;pq.push(num);}double target=SUM/2.0;  //获取总和的一半int res=0;while(SUM>target){  //不断循环直到SUM减半.res++;//获取栈顶(最大元素),把最大元素减半才能减少最多数double temp=pq.top();  pq.pop();temp/=2.0;SUM-=temp;  //总和减去该元素的一半pq.push(temp);  //减半后继续进入大顶堆}return res;}
};

 

相关文章:

【力扣每日一题】2023.7.25 将数组和减半的最少操作次数

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码运行结果&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们一个数组&#xff0c;我们每次可以将任意一个元素减半&#xff0c;问我们操作几次之后才可以将整个数组的和减半&…...

Docker-Compose 轻松搭建 Grafana+InfluxDb 实用 Jmeter 监控面板

目录 前言&#xff1a; 1、背景 2、GranfanaInfluxDB 配置 2.1 服务搭建 2.2 配置 Grafana 数据源 2.3 配置 Grafana 面板 3、Jmeter 配置 3.1 配置 InfluxDB 监听器 3.2 实际效果 前言&#xff1a; Grafana 和 InfluxDB 是两个非常流行的监控工具&#xff0c;它们可…...

异构线程池的c++实现方案

概要 通常线程池是同质的&#xff0c;每个线程都可以执行任意的task&#xff08;每个线程中的task顺序执行&#xff09;&#xff0c;如下图所示&#xff1a; 但本文所介绍的线程和task之间有绑定关系&#xff0c;如A task只能跑在A thread上&#xff08;因此称为异构线程池&am…...

Python实现抽象工厂模式

抽象工厂模式是一种创建型设计模式&#xff0c;用于创建一系列相关或依赖对象的家族&#xff0c;而无需指定具体类。在Python中&#xff0c;可以通过类和接口的组合来实现抽象工厂模式。 下面是一个简单的Python实现抽象工厂模式的示例&#xff1a; # 抽象产品接口 class Abs…...

@vue/cli安装

vue/cli安装 1、全局安装vue/cli包2、查看是否成功 1、全局安装vue/cli包 yarn global add vue/cli2、查看是否成功 vue -V...

用友全版本任意文件上传漏洞复现

声明 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 文章作者拥有对此文章的修改和解释权。如欲转载或传播此文章&#xff0c…...

程序员面试系列,MySQL常见面试题?

原文链接 一、索引相关的面试题 &#xff08;1&#xff09;索引失效的情况有哪些 在MySQL查询时&#xff0c;以下情况可能会导致索引失效&#xff0c;无法使用索引进行高效的查询&#xff1a; 数据类型不匹配&#xff1a;如果查询条件中的数据类型与索引列的数据类型不匹配&…...

前端Web实战:从零打造一个类Visio的流程图拓扑图绘图工具

前言 大家好&#xff0c;本系列从Web前端实战的角度&#xff0c;给大家分享介绍如何从零打造一个自己专属的绘图工具&#xff0c;实现流程图、拓扑图、脑图等类Visio的绘图工具。 你将收获 免费好用、专属自己的绘图工具前端项目实战学习如何从0搭建一个前端项目等基础框架项…...

2023牛客暑期多校第二场部分题解

索引 ABCDEFGHIK A 队友开的题&#xff0c;说是其实就是问能不能用若干个数异或出来某个数。 应该就是线性基板子&#xff0c;然后他写了一下就过了。 B 一开始看没什么人过不是很敢开&#xff0c;结果到后面一看题——这不是最大权闭合子图板子吗&#xff1f;&#xff1f;…...

20230724将真我Realme手机GT NEO3连接到WIN10的电脑的步骤

20230724将真我Realme手机GT NEO3连接到WIN10的电脑的步骤 2023/7/24 23:23 缘起&#xff1a;因为找使用IMX766的手机&#xff0c;找到Realme手机GT NEO3了。 同样使用IMX766的还有&#xff1a;Redmi Note12Pro 5G IMX766 旗舰影像 OIS光学防抖 OLED柔性直屏 8GB256GB时光蓝 现…...

黑马 pink h5+css3+移动端前端

网页概念 网页是网站的一页,网页有很多元素组成,包括视频图片文字视频链接等等,以.htm和.html后缀结尾,俗称html文件 HTML 超文本标记语言,描述网页语言,不是编程语言,是标记语言,有标签组成 超文本指的是不光文本,还有图片视频等等标签 常用浏览器 firefox google safari…...

Docker的七项优秀实践

众所周知&#xff0c;作为一个文本文档&#xff0c;Dockerfile包含了用户创建镜像的所有命令和说明。Docker可以通过读取Dockerfile中指令的方式&#xff0c;去自动构建镜像。因此&#xff0c;大家往往认为编写Dockerfile理应非常简单&#xff0c;只需从互联网上选择一个示例&a…...

【数据结构】24王道考研笔记——图

六、图 目录 六、图定义及基本术语图的定义有向图以及无向图简单图以及多重图度顶点-顶点间关系连通图、强连通图子图连通分量强连通分量生成树生成森林边的权、带权网/图特殊形态的图 图的存储及基本操作邻接矩阵邻接表法十字链表邻接多重表分析对比图的基本操作 图的遍历广度…...

zabbix钉钉报警

登录钉钉客户端,创建一个群,把需要收到报警信息的人员都拉到这个群内. 然后点击群右上角 的"群机器人"->"添加机器人"->"自定义", 记录该机器人的webhook值。 添加机器人 在钉钉群中&#xff0c;找到只能群助手 添加机器人 选择自定义机…...

Spring 源码解读

1、Spring 的结构组成 1.1、核心类介绍 Spring 中有两个最核心的类 1 DefaultListableBeanFactory XmlBeanFactory 继承自 DefaultListableBeanFactory&#xff0c;而DefaultListableBeanFactory 是整个 bean加载的核心部分&#xff0c;是 Spring 注册及加载 bean 的默认实现…...

练习时长两年半的网络安全防御“first”

1.网络安全常识及术语 下边基于这次攻击演示我们介绍一下网络安全的一些常识和术语。 资产 任何对组织业务具有价值的信息资产&#xff0c;包括计算机硬件、通信设施、 IT 环境、数据库、软件、文档资料、信息服务和人员等。 网络安全 网络安全是指网络系统的硬件、软件及…...

HttpRunner自动化测试之响应中文乱码处理

响应中文乱码&#xff1a; 当调用接口&#xff0c;响应正文返回的中文是乱码时&#xff0c;一般是响应正文的编码格式不为 utf-8 导致&#xff0c;此时需要根据实际的编码格式处理 示例&#xff1a; 图1中 extract 提取title标题&#xff0c;output 输出 title 变量值&#x…...

idea使用命令将jar包导入到maven仓库中

因为今天突然忘了命令&#xff0c;记下来方便以后查看 pom文件的依赖 jar包路径 进入idea中命令窗 输入命令 mvn install:install-file -DfileD:\Project\spring-cloud\dubbo-api\target\dubbo-api-1.0-SNAPSHOT.jar -DgroupIdcom.wmx -DartifactIddubbo-api -Dversion1.0…...

zookeeper学习(一) Standalone模式(单机模式)安装

安装准备 centos7环境jdk1.8环境zookeeper安装包 安装jdk 上传jdk安装包解压安装包到目录中 tar -zxvf jdk-8u361-linux-x64.tar.gz如果需要指定目录可以在后面加上 -C&#xff0c;如 tar -zxvf jdk-8u361-linux-x64.tar.gz -C 目录配置jdk环境变量 vim /etc/profile打开…...

native webrtc支持切换音频采集设备和获取裸流

https://www.yuque.com/caokunchao/rtendq/oq8w3qgs3g59whru 前言 版本webrtc m96 1、修改webrtc m96代码&#xff0c;向外提供一个adm指针的接口出来 2、外部来获取指针进行设备的选择 3、外部获取音频裸流&#xff0c;麦克风或者扬声器的数据 修改webrtc代码 1、修改H:\w…...

AutoGLM-Phone-9B开箱即用:跟着这篇,快速部署你的移动端大模型

AutoGLM-Phone-9B开箱即用&#xff1a;跟着这篇&#xff0c;快速部署你的移动端大模型 1. AutoGLM-Phone-9B简介 1.1 什么是AutoGLM-Phone-9B AutoGLM-Phone-9B是一款专为移动端优化的多模态大语言模型&#xff0c;它能够同时处理视觉、语音和文本三种输入方式。这个模型最大…...

ZLUDA技术破局:跨厂商GPU的CUDA生态兼容之道

ZLUDA技术破局&#xff1a;跨厂商GPU的CUDA生态兼容之道 【免费下载链接】ZLUDA CUDA on Intel GPUs 项目地址: https://gitcode.com/GitHub_Trending/zl/ZLUDA 作为开源兼容层领域的创新之作&#xff0c;ZLUDA正在重塑GPU计算生态格局。这款突破性工具通过专利的指令翻…...

DeepSeek-OCR-2功能测评:多语言支持、复杂背景识别,实测好用

DeepSeek-OCR-2功能测评&#xff1a;多语言支持、复杂背景识别&#xff0c;实测好用 1. 引言&#xff1a;OCR技术的新标杆 在数字化时代&#xff0c;文字识别技术已经成为连接物理世界与数字世界的重要桥梁。DeepSeek-OCR-2作为最新一代的开源OCR模型&#xff0c;凭借其创新的…...

广汽埃安品牌车型AION UT在奥地利麦格纳工厂正式量产启动并成功下线 | 美通社头条

、美通社消息&#xff1a;3月18日&#xff0c;广汽欧洲业务发展迎来重要里程碑——旗下埃安品牌车型AION UT在奥地利麦格纳(Magna)工厂正式实现量产启动(SOP)并成功下线&#xff0c;标志着广汽在欧洲本地化战略迈入实质性推进阶段。AION UT是广汽欧洲本地化战略的重要核心车型&…...

5个技巧让旧MacBook Pro重获新生:OpenCore Legacy Patcher完全指南

5个技巧让旧MacBook Pro重获新生&#xff1a;OpenCore Legacy Patcher完全指南 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 随着科技的快速迭代&#xff0c;许多经典Ma…...

手把手玩转Workbench单向流固耦合——从离心泵到风电叶片的实战指南

Workbench单向流固耦合---自己录制 01-离心泵流固耦合分析&#xff08;3节&#xff09; 包括01-水泵网格划分、02-CFX中流场设置 03-WB中单向耦合设置、04-后处理等 02-叶片耦合应力分析&#xff08;3节&#xff09; 包括01-BladeGen轴流叶片设置技巧、 02-Turbogrid旋转机械网…...

FigmaCN:消除语言壁垒的中文界面本地化解决方案

FigmaCN&#xff1a;消除语言壁垒的中文界面本地化解决方案 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN FigmaCN是一款专为中文设计师打造的浏览器插件&#xff0c;通过3800条人工校…...

提升工作效率的利器:哦我的Claude代码(Oh-My-ClaudeCode)

轻松掌握Claude Code的多代理 orchestration——oh-my-claudecode 在我们的工程师和开发者面前&#xff0c;常常会遇到复杂的任务调度和多代理协作的问题。如何有效地利用可用的AI助手并提高工作效率&#xff0c;成为了一个不容忽视的挑战。oh-my-claudecode正是为了解决这些问…...

【shell】shell实现交互式输入与超时处理

1. Shell脚本交互式输入基础 在Shell脚本编程中&#xff0c;交互式输入是最基础也最常用的功能之一。想象一下这样的场景&#xff1a;你写了一个自动安装软件的脚本&#xff0c;需要用户确认是否继续&#xff1b;或者开发了一个配置工具&#xff0c;需要用户输入IP地址和端口号…...

从理论到实践:双有源桥DAB-SPS控制模式仿真全解析

1. 双有源桥DAB与SPS控制模式入门 第一次接触双有源桥&#xff08;Dual Active Bridge&#xff0c;简称DAB&#xff09;时&#xff0c;我被它优雅的对称结构吸引住了。这种DC-DC变换器拓扑就像一座精心设计的桥梁&#xff0c;两侧各有一个全桥电路&#xff0c;通过高频变压器耦…...