2024-07-17:用go语言,给定一个整数数组nums, 我们可以重复执行以下操作: 选择数组中的前两个元素并删除它们, 每次操作得到的分数是被删除元素的和。 在保持所有操作的分数相同的前提下,

news/2024/11/15 11:42:06/文章来源:https://www.cnblogs.com/moonfdd/p/18307469

2024-07-17:用go语言,给定一个整数数组nums,

我们可以重复执行以下操作:

选择数组中的前两个元素并删除它们,

每次操作得到的分数是被删除元素的和。

在保持所有操作的分数相同的前提下,

请计算最多能执行多少次操作。

返回可以进行的最大操作次数。

输入:nums = [3,2,1,4,5]。

输出:2。

解释:我们执行以下操作:

1.删除前两个元素,分数为 3 + 2 = 5 ,nums = [1,4,5] 。

2.删除前两个元素,分数为 1 + 4 = 5 ,nums = [5] 。

由于只剩下 1 个元素,我们无法继续进行任何操作。

答案2024-07-17:

chatgpt

题目来自leetcode3038。

大体步骤如下:

1.初始化变量:设定初始索引 i 为 1、t(操作次数)为 0。

2.循环直至结束条件:进行循环,每次增加 2 然后检查是否满足条件以继续操作。

3.检查是否能继续操作:检查当前两个元素与第一次删除的两个元素之和是否相等,如果不相等,则退出循环。

4.更新操作次数:如果满足条件,增加操作次数 t。

5.返回最大操作次数:最终返回 t 作为最大操作次数。

总的时间复杂度是 O(n),其中 n 是 nums 数组的长度。因为我们只需要遍历一次整个数组,执行的操作是固定的,不会随着数组变大而增加时间复杂度。

总的额外空间复杂度是 O(1),因为除了用于存储输入参数 nums 外,我们只使用了固定数量的变量(如 n、t、i)来计算最大操作次数,不随着输入的变化而增加额外的空间。

Go完整代码如下:

package mainimport ("fmt"
)func maxOperations(nums []int) int {n, t := len(nums), 0for i := 1; i < n; i += 2 {if nums[i] + nums[i - 1] != nums[1] + nums[0] {break}t++}return t
}

在这里插入图片描述

Python完整代码如下:

# -*-coding:utf-8-*-def maxOperations(nums):n, t = len(nums), 0for i in range(1, n, 2):if nums[i] + nums[i - 1] != nums[1] + nums[0]:breakt += 1return tdef main():nums = [3, 2, 1, 4, 5]print(maxOperations(nums))if __name__ == "__main__":main()

在这里插入图片描述

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

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

相关文章

自动填充验证码,懒人福音,对视觉障碍的朋友太友善了

自动填充验证码,懒人福音,对视觉障碍的朋友太友善了 一、安装插件Tampermonkey油猴(篡改侯)脚本插件 https://www.tampermonkey.net/ 这个怎么安装就不详细介绍了 二、安装验证码解析脚本 https://greasyfork.org/zh-CN/scripts/418942-万能验证码自动输入-升级版点击进去直接…

在 Kubernetes 上部署 llama3

转自:https://zhuanlan.zhihu.com/p/695534674 Ollama 与 OpenWebUI 介绍 Ollama 是一个运行大模型的工具,可以看成是大模型领域的 Docker,可以下载所需的大模型并暴露 API。 OpenWebUI 是一个大模型的 Web UI 交互工具,支持 Ollama,即调用 Ollama 暴露的 API 实现与大模型…

ubuntu22.04安装idea2024

1.现有电脑简介系统版本:ubuntu22.04 Desktop java版本: openjdk 212.软件部署在官网下载idea软件包,解压并移动到/opt目录,重命名为idea 寻找合适的学习版工具,解压应移动到/opt目录,重命名为ja-netfilter2.1.修改idea vmoptions文件 # 修改/opt/idea/bin/idea64.vmoptio…

手把手教你基于华为云鲲鹏弹性云服务器部署Node.js环境

本文带大家使用华为KooLabs云实验平台,基于华为云鲲鹏弹性云服务器安装、部署、测试Node.js项目。本文分享自华为云社区《华为云之使用鲲鹏弹性云服务器部署Node.js环境【玩转华为云】》,作者:江湖有缘。 一、本次实践介绍 1.1 实践环境简介 本次实践环境使用华为KooLabs云实…

LVM逻辑卷方式管理磁盘和分区

LVM (逻辑卷管理)LVM,是Logical Volume Manager的缩写,中文意思是逻辑卷管理,它是linux 下对磁盘分区进行管理的一种机制,LVM是建立在磁盘分区和文件系统之间的一个逻辑层,管理员利用LVM可以在磁盘不用重新分区的情况下动态的调整分区的大小。如果系统新增了-块硬盘,通过…

[N1CTF 2018]eating_cms 1

信息收集,文件上传,rce,代码审计打开之后是一个登录页面,同时他的url是login,呢么第一反应应该是看看有没有register.php发现是有的,..但是admin是注册不了的,呢么我们先随机注册一个尝试看看能不能更改权限,登陆上之后发现是没有session的也就是目前没办法切换admin账号…

超级炫酷的终端神器 eDEX-UI

eDEX-UI,不仅是一款全屏幕、跨平台的终端模拟器和系统监视器,更是一件被封存的艺术品,让你尽情沉浸于科幻般的装逼幻想之中。它的界面设计独特,仿佛来自未来世界,让你仿佛置身于科幻电影中。 eDEX-UI主要亮点:科幻感的外观 跨平台 自定义主题选项 支持多个终端标签 Windo…

Axure引用Antv-G2

本文分为5个模块:引用模版、说明---引用模版、说明---antv-g2图表示例代码、axure引用步骤、示例代码 引用模版: javascript:var script = document.createElement(script);script.type = "text/javascript";script.src ="https://unpkg.com/@antv/g2/dist/g2…

双非一本,裁员两个月,进 WLB 外企,涨幅 50%

大家好,我是R哥。 今天和大家分享一个特别有成就感的面试辅导案例,这个小兄弟的个人情况如下:双非一本 刚毕业不久 校招进了家全球外包 被裁员空窗两个月 没有社招经验我叫他「小马」好了,小马通过我们的面试辅导,成功拿到某知名外企、数字马力、Bamboo 等多个知名企业 Of…

移动端适配的基础概念

一、英寸 一般用英寸描述屏幕的物理大小。如苹果SE 4英寸,苹果XS 6.5英寸,电脑显示器的22英寸 上面的尺寸都是屏幕对角线长度。英寸和厘米的换算:1英寸 = 2.54 厘米二、分辨率 2.1 像素 像素即一个方块,具有特定的位置和颜色。像素可以作为图片和电子屏幕最小组成单元通常我…

Linux 提权-密码搜寻

本文通过 Google 翻译 Password Hunting – Linux Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充。导航0 前言 1 密码搜寻 – 文件名和文件内容1.1 寻找有趣的文件名 1.2 寻找有趣的字符串2 密码搜寻 – Web 文件/Con…