代码随想录第34天: 贪心part03

ops/2024/9/20 3:53:47/ 标签: 算法, java, leetcode

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

java">class Solution {public int largestSumAfterKNegations(int[] nums, int k) {// 将基本类型的int数组转换成IntStream,以便进行流操作。nums = Arrays.stream(nums)// 将IntStream中的int元素转换(装箱)为Integer对象,这是必须的因为后面的sorted方法需要对象来进行比较。.boxed()// 对流中的元素进行排序。使用自定义的比较器,该比较器基于元素的绝对值进行降序排序。// o1和o2是比较的两个元素,Math.abs(o2) - Math.abs(o1)计算结果如果为正数,则o2排在o1前面,实现降序。.sorted((o1, o2) -> Math.abs(o2) - Math.abs(o1))// 将流中的Integer对象转换回基本类型int,以便可以将流转换回数组。.mapToInt(Integer::intValue)// 将流中的元素收集到一个新的int数组中。.toArray();for(int i = 0; i < nums.length && k > 0; i++) {if(nums[i] < 0) {nums[i] = nums[i] * -1;k--;}}if(k == 0 || k % 2 == 0) {return Arrays.stream(nums).sum();}else {nums[nums.length - 1] = nums[nums.length - 1] * -1;return Arrays.stream(nums).sum();}    }
}

力扣 134. 加油站

java">class Solution {public int canCompleteCircuit(int[] gas, int[] cost) {int[] res = new int[gas.length];for(int i = 0; i < gas.length; i++) {res[i] = gas[i] - cost[i];}if(Arrays.stream(res).sum() < 0) {return -1;}else {int idx = 0;int sum = 0;while(idx < res.length) {int i;for(i = idx; i < res.length; i++) {sum += res[i];if(sum < 0) {sum = 0;idx = i + 1;break;}}if(i == res.length) return idx;}}return -1;}
}

力扣 135. 分发糖果

java">class Solution {public int candy(int[] ratings) {int[] LToR = new int[ratings.length];LToR[0] = 1;for(int i = 1; i < ratings.length; i++) {if(ratings[i] > ratings[i - 1]) {LToR[i] = LToR[i - 1] + 1;}else {LToR[i] = 1;}}int[] RToL = new int[ratings.length];RToL[ratings.length - 1] = 1;for(int i = ratings.length - 2; i >= 0; i--) {if(ratings[i] > ratings[i + 1]) {RToL[i] = RToL[i + 1] + 1;}else {RToL[i] = 1;}}int[] result = new int[ratings.length];for(int i = 0; i < ratings.length; i++) {result[i] = Math.max(LToR[i], RToL[i]);}int sum = Arrays.stream(result).sum();return sum;}
}

http://www.ppmy.cn/ops/15133.html

相关文章

怎样快速打造二级分销小程序

乔拓云是一个专门开发小程序模板的平台&#xff0c;致力于帮助商家快速上线自己的小程序。通过套用乔拓云提供的精美模板&#xff0c;商家无需具备专业的技术背景&#xff0c;也能轻松打造出功能齐全、美观大方的小程序。 在乔拓云的官网&#xff0c;商家可以免费注册账号并登录…

SpringBoot 集成 WebSocket

前言 最近在做一个 WebSocket 通信服务的软件&#xff0c;所以必须跟着学一学。 1、WebSocket 概述 一般情况下&#xff0c;我们的服务器和服务器之间可以发送请求&#xff0c;但是服务器是不能向浏览器去发送请求的。因为设计之初并没有想到以后会出现服务端频繁向客户端发送…

2024年华为OD机试真题-寻找最优的路测线路-Python-OD统一考试(C卷D卷)

题目描述: 评估一个网络的信号质量,其中一个做法是将网络划分为栅格,然后对每个栅格的信号质量计算。路测的时候,希望选择一条信号最好的路线(彼此相连的栅格集合)进行演示。现给出R行C列的整数数组Cov,每个单元格的数值S即为该栅格的信号质量(已归一化,无单位,值越大…

面试八股——常见数据结构

二叉搜索树 在二叉搜索树中&#xff0c;对于任意一个节点&#xff0c;左子树中的所有节点的值都小于该节点的值&#xff0c;右子树所有节点的值都大于该节点的值。 红黑树 红黑树是一种自平衡的二叉搜索树。 红黑树包含以下性质&#xff1a; 散列表 散列表的工作原理&#x…

EasyUI-Resizable 可调整尺寸

<div id"rr" style"width:100px;height:100px;border:1px solid #ccc;"></div>$(#rr).resizable({maxWidth:800,maxHeight:600 }); 属性 名称 类型 描述 默认值 disabled boolean 如果设置为 true&#xff0c;则禁止调整尺寸。 false …

vue 请求php接口 header 传自定义参数 提示cors 跨域问题

前端地址 http://192.168.0.125:4021 请求后端地址的时候报 from origin http://192.168.0.125:4021 has been blocked by CORS policy: Request header field userid is not allowed by Access-Control-Allow-Headers in preflight response. 大概意思是请求 header里有个…

数据结构 - 顺序表

一. 线性表的概念 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构&#xff0c;也就说是连续的…

极限电流型氧气传感器的压力补偿

在氧浓度恒定的条件下&#xff0c;对极限电流氧气传感器在不同压力下测试数据进行分析发现&#xff0c;气压变化将导致传感器测量值与真实值存在测试误差较大。针对该问题&#xff0c;提出了极限电流氧气传感器低压条件下压力补偿方法&#xff0c;并进行了实验验证。压力补偿后…

AIGC技术的探索与展望:跨界融合与科技变革

文章目录 前言一、AIGC技术的现状与特点二、AIGC技术在各个领域的应用三、AIGC技术对未来社会的影响四、AIGC技术的可能发展方向 前言 随着科技的飞速发展&#xff0c;人工智能与大数据的结合日益紧密&#xff0c;AIGC&#xff08;人工智能生成内容&#xff09;技术作为这一领域…

力扣——位运算系列

【LeetCode 137. 只出现一次的数字 II】 这题有两个思路&#xff1a; 1&#xff09;逐位考虑&#xff1b; 2&#xff09;状态机&#xff1b; 先来看逐位考虑的思路&#xff1a; 如果对于 nums 中的每个数只观察某一位&#xff0c;因为除了一个数&#xff08;后用 a 来代称&…

Docker容器:docker基础

目录 一.docker前言 云计算服务模式 关于 docker 产品 虚拟化产品有哪些&#xff1f; ① 寄居架构 ② 源生架构 虚拟化技术概述 主流虚拟化产品对比 1. VMware系列 2. KVM/OpenStack 3. Xen 4. 其他半/全虚拟化产品 二. docker 的相关知识 1. docker 的概念 doc…

用斐波那契数列感受算法的神奇(21亿耗时0.02毫秒)

目录 一、回顾斐波那契数列 二、简单递归方法 &#xff08;一&#xff09;解决思路 &#xff08;二&#xff09;代码展示 &#xff08;三&#xff09;性能分析 三、采用递归HashMap缓存 &#xff08;一&#xff09;解决思路 &#xff08;二&#xff09;代码展示 &…

基于adb操作安卓手机封装的python库

import re import shlex import subprocessclass ADBClient:def __init__(self, ip, port):"""初始化ADBClient实例。:param ip: 远程设备的IP地址。:param port: 远程设备的端口号。"""self.ip ipself.port portdef is_app_running(self, pac…

git版本库瘦身你知道吗

1.问题缘由 新开发一个git项目时&#xff0c;可能会使用之前的代码库作为基准&#xff0c;并且之前的代码库中可能有许多git提交记录&#xff08;.git文件夹下面有许多提交记录存储&#xff09;。这时需要处理以下2种情况。 1&#xff09;远程代码库中还未上传git提交记录&am…

使用FunASR处理语音识别

FunASR是阿里的一个语音识别工具&#xff0c;比SpeechRecognition功能多安装也很简单&#xff1b; 官方介绍&#xff1a;FunASR是一个基础语音识别工具包&#xff0c;提供多种功能&#xff0c;包括语音识别&#xff08;ASR&#xff09;、语音端点检测&#xff08;VAD&#xff…

Android 水滴屏、全屏适配

Android 水滴屏、全屏适配 何谓刘海屏&#xff1f;何谓水滴屏&#xff1f; 上述两种屏幕都可以统称为刘海屏&#xff0c;不过对于右侧较小的刘海&#xff0c;业界一般称为水滴屏或美人尖。 目前国内流行的手机厂商主要有&#xff1a;vivo、oppo、华为、小米。各厂商对刘海屏的…

GHO文件安装到Vmware的两种姿势

1、使用 Ghost11.5.1.2269 将gho转换为vmdk文件(虚拟机硬盘)&#xff0c;Vmware新建虚拟机自定义配置&#xff0c;然后添加已有的虚拟硬盘文件。 注意ghost的版本&#xff0c;如果你是用Ghost11.5备份的gho文件&#xff0c;再用Ghost12把gho文件转换为vmdk&#xff0c;则vmdk文…

深度学习之视觉特征提取器——VGG系列

VGG 提出论文&#xff1a;1409.1556.pdf (arxiv.org) 引入 距离VGG网络的提出已经约十年&#xff0c;很难想象在深度学习高速发展的今天&#xff0c;一个模型能够历经十年而不衰。虽然如今已经有VGG的大量替代品&#xff0c;但是笔者研究的一些领域仍然有大量工作选择使用VG…

vue2响应式 VS vue3响应式

Vue2响应式 存在问题&#xff1a; 新增属性&#xff0c;删除属性&#xff0c;界面不会更新。 直接通过下标修改数组界面不会自动更新。 Vue2使用object.defineProperty来劫持数据是否发生改变&#xff0c;如下&#xff1a; 能监测到获取和修改属性&#xff1a; 新增的属性…

服务器数据恢复—存储硬盘坏道,指示灯亮黄色的数据恢复案例

服务器数据恢复环境&故障&#xff1a; 一台某品牌EqualLogic PS系列某型号存储&#xff0c;存储中有一组由16块SAS硬盘组建的RAID5磁盘阵列&#xff0c;RAID5上划分VMFS文件系统存放虚拟机文件。存储系统上层一共分了4个卷。 raid5阵列中磁盘出现故障&#xff0c;有2块硬盘…