

计算左侧和右侧至少大于K个元素的元素
source link: https://www.jdon.com/72319.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

计算左侧和右侧至少大于K个元素的元素
要计算左侧和右侧至少大于K个元素的元素,您可以使用以下方法:
暴力方法: 遍历数组中的每个元素,对于每个元素,分别计算其左侧和右侧大于K的元素数量。最后统计符合条件的元素数量。
def count_elements_greater_than_k(arr, K): |
优化方法: 可以通过动态规划的方式来优化,减少左侧和右侧计数的时间复杂度。
def count_elements_greater_than_k_optimized(arr, K): |
复杂案例:
给定一个大小为n (1 <= n <= 10^5)的数组arr[]和一个正整数k,任务是计算数组中的所有索引i ( 1<= i < n) ,使得至少k i左边的元素和 i右边至少k 个元素,它们严格小于第 i 个索引处的值(即 arr)。
Input: arr = {1,3,6,5,2,1}, k = 2
Output: 2
Explanation: 用粗体标出的元素只是有效索引,arr = {2,3,6,5,2,3}
Input: arr = {2,2,2}, k = 3
Output: 0
解决方案:
这个想法是选择一些特定的数据结构来跟踪最大值。这样我们就可以检查当前索引i是否大于左侧的最大元素。我们来看看核心思想。
我们将使用最大堆数据结构并始终保持其大小为 k。对于任何索引i,我们将检查i处的当前值(即 arr)是否大于最大堆顶元素,这意味着i左侧必须至少有k 个元素小于当前值价值。如果当前值小于最大堆顶,那么我们必须删除最大堆顶并将当前元素插入堆中,因为这将帮助我们进一步减少最大值,从而在验证时帮助其他未来元素。我们将在left[]数组中跟踪此验证。
我们将从右到左执行上述相同操作,并在right[]数组中跟踪验证。
最后,我们将遍历两个数组并检查left == 1 或 true && right == 1 或 true那么这是有效的索引。因此,增加我们的count。
分步方法:
include<bits/stdc++.h> |
Recommend
-
34
-
37
对右侧交易的不解 - 左侧交易者好理解,认为现在已进入安全区域,不管到没到底,直接买进。右侧交易者什么时候买入?如果买入之后指数下跌创新低,是不是要被没买的右侧交易者嘲笑
-
45
对左侧交易的不解 - 我一个同事,2008年左侧交易买了每股40元的000878云南铜业,还有朋友左侧交易买了30元的中国石油,10年了,一直没卖出去,请问这种情况下左侧怎么结束交易?
-
31
就想问问右侧交易者,你进场了么? - 前段时间行情极度低迷,集思录上关于左侧右侧交易的争论比较多。最近两个交易日,上证涨了6个多点,不少个股也有10%以上的涨幅。就想问问右侧交易者,你进场了么?追涨了么,买了什么,买了多少?
-
47
我是左侧。今年的股票仓位已经开始赚钱了 - 十多年了,每年的股票仓位都是赚钱的。对我而言,今年股票赚钱看起来有点困难,但其实一点都不难,只不过中途颠簸比较厉害而已。随着前段时间股指一度跌至2400多点,作为左侧最标准的动作自然是不断加仓,然后在上涨的过...
-
37
【画面左侧是来抢劫的】视频来自美国佛罗里达州坦帕市的一家手机店。
-
7
如何隐藏input type=number元素,右侧的上下箭头时间: 10/30/2019作者: ll浏览量: 797移动端开发时,经常会用 input=tel代替input=number来调用数字键盘 。 如验证码时,我们可以用type=tel调用拨...
-
4
leetcode 315. 计算右侧小于当前元素的个数 发...
-
9
邮件项目左侧tab切换,右侧主体内容联动的技术实现思考过程如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!
-
2
给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换。 完成所有替换操作后,请你返回这个数组。 输入:arr = [17,18,5,4,6,1] 输出:[18,6,6,6,1,-1]
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK