Leetcode315题:计算右侧小于当前元素的个数

embedded/2024/9/24 17:17:27/

315. 计算右侧小于当前元素的个数

难度:困难

问题描述:

给你一个整数数组 nums ,按要求返回一个新数组 counts 。数组 counts 有该性质: counts[i] 的值是  nums[i] 右侧小于 nums[i] 的元素的数量。

示例 1:

输入:nums = [5,2,6,1]

输出:[2,1,1,0]

解释:

5 的右侧有 2 个更小的元素 (2 和 1)

2 的右侧仅有 1 个更小的元素 (1)

6 的右侧有 1 个更小的元素 (1)

1 的右侧有 0 个更小的元素

示例 2:

输入:nums = [-1]

输出:[0]

示例 3:

输入:nums = [-1,-1]

输出:[0,0]

提示:

1 <= nums.length <= 105

-104 <= nums[i] <= 104

问题分析:

本问题对于一个整数数组nums,返回一个新数组counts,其中counts[i]的值是整数数组nums中nums[i]元素右侧小于nums[i]的数量,所以不管怎样,肯定需要这个一个功能,即告诉数组nums和给定的一个索引号i,能够统计出nums[i]右侧应该有多少个小于nums[i]的元素数量,为此设计的函数lesscount(nums,i)能够满足要求。

剩下的事情就比较好做了,函数answer(nums)通过循环遍历nums中的每一个索引号,然后调用lesscount(nums,i)函数计算出count[i],返回count数组,这个问题就解决了。

程序如下:

def lesscount(nums,i):a=nums[i]n=0for j in range(i+1,len(nums)):if nums[j]<a:n=n+1return ndef answer(nums):count=[]for j in range(len(nums)):c=lesscount(nums,j)count.append(c)return countnums=eval(input('pls input nums='))
print(answer(nums))

运行实例一:

pls input nums=[3,2,5,1]

[2, 1, 1, 0]

运行实例二:

pls input nums=[3,5,6,7]

[0, 0, 0, 0]

运行实例三:

pls input nums=[7]

[0]

解决一个问题,一定要反复阅读其问题描述,找到最关键的点,问题就会迎刃而开。


http://www.ppmy.cn/embedded/46989.html

相关文章

Proxy 与 Reflect 的关系、作用与应用场景

1. Proxy 与 Reflect 简介 代理&#xff08;Proxy&#xff09;是一种设计模式&#xff0c;允许为其他对象创建一个代表或占位符对象&#xff0c;以控制对它的访问。在JavaScript中&#xff0c;Proxy 对象是一个内置对象&#xff0c;用于创建一个对象的代理&#xff0c;从而可以…

建构信任基石:揭秘Web3的去中心化信任体系

在传统的互联网时代&#xff0c;信任往往建立在中心化的机构和第三方平台之上&#xff0c;而这种中心化的信任体系往往面临着数据泄露、信息滥用等问题。然而&#xff0c;随着区块链技术的发展&#xff0c;Web3时代正在向我们展示一种全新的信任体系&#xff0c;即去中心化的信…

VFP发送邮件有哪些配置要求?如何使用VFP?

VFP发送邮件支持的邮件服务器&#xff1f;邮件发送功能怎么优化&#xff1f; 在如今的互联网时代&#xff0c;应用程序发送邮件功能几乎是不可或缺的&#xff0c;VFP也不例外。然而&#xff0c;要实现VFP发送邮件&#xff0c;需要了解并配置相关的要求和步骤。AokSend将详细介…

R语言中dplyr包的多表连接

在数据分析中&#xff0c;处理多个数据表是常见的需求。R语言中&#xff0c;dplyr包提供了丰富的连接&#xff08;join&#xff09;函数来实现多表连接操作。本文将解释R语言中的各种连接类型&#xff0c;包括内连接、外连接、左连接、右连接、半连接和反连接&#xff0c;并给出…

RK3568技术笔记之一 RK3568总体介绍

RK3568是瑞芯微开发出一款很好用的芯片。我先把ROCKCHIP的原厂信息搬过来看看。 首先声明一下&#xff0c;这篇文章里的资讯版权归瑞芯微电子股份有限公司。毕竟是我转过来的嘛。 我自己的心得&#xff0c;版权就归我啦。 主要特性 Quad-core Cortex-A55 up to 2.0GHzMali-G…

InfiniGate自研网关实现思路七

25.网关Nginx负载模型配置 通过模拟多个HTTP服务配置到 Nginx 做负载均衡&#xff0c;以学习API网关负载的配置和使用 API 网关是用于支撑分布式 RPC 接口协议转换提供 HTTP 调用的一套服务&#xff0c;那么 API 网关系统就需要可横向扩展来满足系统的吞吐量诉求。所以这里需…

转型AI产品经理(4):“认知负荷”如何应用在Chatbot产品

认知负荷理论主要探讨在学习过程中&#xff0c;人脑处理信息的有限容量以及如何优化信息的呈现方式以促进学习。认知负荷定律认为&#xff0c;学习者的工作记忆容量是有限的&#xff0c;而不同类型的认知任务会对工作记忆产生不同程度的负荷&#xff0c;从而影响学习效果。以下…

Macbook M芯片Homebrew与git的安装与配置

Macbook M芯片Homebrew与git的安装与配置 Homebrew的安装与配置 搜索Homebrew; 找到如下网址https://brew.sh/ 把以上命令复制到终端 执行后&#xff0c;发现并不能下载&#xff1b; 如果你像我一样也是不通的&#xff0c;可以使用国内源,将如下命令复制到终端&#xff1a;…