首页 > 其他分享 >2024-08-17:用go语言,给定一个从0开始的整数数组nums和一个整数k, 每次操作可以删除数组中的最小元素。 你的目标是通过这些操作,使得数组中的所有元素都大于或等于k。 请计算出实现这个目

2024-08-17:用go语言,给定一个从0开始的整数数组nums和一个整数k, 每次操作可以删除数组中的最小元素。 你的目标是通过这些操作,使得数组中的所有元素都大于或等于k。 请计算出实现这个目

时间:2024-08-17 18:49:45浏览次数:11  
标签:11 10 nums 元素 整数 数组 操作

2024-08-17:用go语言,给定一个从0开始的整数数组nums和一个整数k,

每次操作可以删除数组中的最小元素。

你的目标是通过这些操作,使得数组中的所有元素都大于或等于k。

请计算出实现这个目标所需的最少操作次数。

输入:nums = [2,11,10,1,3], k = 10。

输出:3。

解释:第一次操作后,nums 变为 [2, 11, 10, 3] 。

第二次操作后,nums 变为 [11, 10, 3] 。

第三次操作后,nums 变为 [11, 10] 。

此时,数组中的所有元素都大于等于 10 ,所以我们停止操作。

使数组中所有元素都大于等于 10 需要的最少操作次数为 3 。

答案2024-08-17:

chatgpt

题目来自leetcode3065。

大体步骤如下:

1.遍历数组nums,对于元素小于k的情况,将操作次数ans加1。

2.在给定例子中,初始时nums为[2, 11, 10, 1, 3],k为10。第一次操作后,删除最小元素1,得到[2, 11, 10, 3],操作次数为1。

3.第二次操作后,删除最小元素2,得到[11, 10, 3],操作次数为2。

4.第三次操作后,删除最小元素3,得到[11, 10],操作次数为3。

5.此时数组中的所有元素都大于或等于10,操作停止,使数组中所有元素大于等于10所需的最少操作次数为3。

总的时间复杂度为O(n),其中n为数组nums的长度,每个元素最多会被遍历一次。

总的额外空间复杂度为O(1),没有使用额外的数据结构来存储中间结果,只有常数级别的额外空间消耗。

Go完整代码如下:

package main

import (
	"fmt"
)

func minOperations(nums []int, k int) (ans int) {
	for _, x := range nums {
		if x < k {
			ans++
		}
	}
	return
}

func main() {
	nums := []int{2,11,10,1,3}
	k:=10
	fmt.Println(minOperations(nums, k))
}

在这里插入图片描述

Python完整代码如下:

# -*-coding:utf-8-*-

def min_operations(nums, k):
    ans = sum(1 for x in nums if x < k)
    return ans

nums = [2, 11, 10, 1, 3]
k = 10
print(min_operations(nums, k))

在这里插入图片描述

标签:11,10,nums,元素,整数,数组,操作
From: https://www.cnblogs.com/moonfdd/p/18364812

相关文章

  • 代码随想录day3 | LeetCode203. 移除链表元素、LeetCode707. 设计链表、LeetCode206.
    代码随想录day3|LeetCode203.移除链表元素、LeetCode707.设计链表、LeetCode206.反转链表为了防止早上写博客上传图片失败,今天试试下午写,发现图片上传正常链表基础文章链接:链表基础C/C++的定义链表节点方式,如下所示://单链表structListNode{intval;/......
  • 008、Vue3+TypeScript基础,数组和对象的响应式修改方法
    01、App.vue代码如下:<template><divclass="app"><h1>好好学习,天天向上</h1><Person/></div></template><script>//JS或TSimportPersonfrom'./view/Person.vue'exportdefault{//......
  • CSS的:defined伪类:选择已定义元素的新选择器
    CSS(层叠样式表)是控制网页样式的核心语言,随着CSS4的提出,一系列新的选择器被引入,其中:defined伪类便是这些新特性之一。:defined伪类允许开发者选择HTML文档中已经定义的元素,这在处理自定义元素(如WebComponents)时非常有用。本文将详细介绍:defined伪类的使用方式、应用场景以......
  • CSS表单元素选择器::optional和:required伪类的深度应用
    CSS(层叠样式表)是控制网页样式的强大工具,它允许开发者根据元素的不同状态和特性来应用样式。在HTML表单中,:optional和:required伪类是两个非常有用的工具,它们允许开发者针对用户输入是否为可选或必填来设置样式。本文将详细介绍这两个伪类的使用方式、应用场景以及如何通过它......
  • C++多维数组与指针
    定义inta[3][4]={{1,3,5,7},{9,11,13,15},{17,18,21,23}};a代表二维数组首元素的地址,现在的首元素不是一个整型变量,而是由4个整型元素所组成的一维数组,因此a代表的是首行的起始地址,a+1代表第二行首地址。a代表的是首行的起始地址,即a[0]行的首地址,&a[0]a+1代表第二行首......
  • 元素偏移(offset,scroll,client)介绍,动态设置类名
    文章目录一offset,scroll,client简单介绍二、scroll系列1scrollWidth2scrollHeight3scrollTop4scrollLeft三、offset系列1.offsetHeight2.offsetWidth3.offsetTop4.offsetLeft四client系列1clientTop2clientLeft3clientWidth4clientHeight五案例1动态设置......
  • 实用库/函数之字符数组的使用
    说明:一维字符数组:存放一个字符串(每个数组元素存放一个字符)二维字符数组:存放多个一维数组(字符串);二维数组的行数是字符串的个数。1.初始化(1)单个字符初始化例:charc[10]={'c','','p','r','o','g','r','a','m','\0'};//把10个字符依次......
  • leetcode面试经典150题-13. 罗马数字转整数
    https://leetcode.cn/problems/roman-to-integer/description/?envType=study-plan-v2&envId=top-interview-150 GOpackageleetcode150import"testing"/*romanMap:=map[string]int{"I":1,"V":......
  • 数组
    数组数组是相同类型数据的集合相同类型若干个数据,按照一定的先后次序排列组合。每一个数据称作一个数据元素,每个数据元素可以通过一个下标来访问他们声明packagecom.yang.array;publicclassarrayDemo01{publicstaticvoidmain(String[]args){//变量......
  • leetcode前缀和(2438. 二的幂数组中查询范围内的乘积)
    前言经过前期的基础训练以及部分实战练习,粗略掌握了各种题型的解题思路。现阶段开始专项练习。描述给你一个正整数 n ,你需要找到一个下标从 0 开始的数组 powers ,它包含 最少 数目的 2 的幂,且它们的和为 n 。powers 数组是 非递减 顺序的。根据前面描述,构造......