LeetCode 2465. 不同的平均值数目

这篇具有很好参考价值的文章主要介绍了LeetCode 2465. 不同的平均值数目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【LetMeFly】2465.不同的平均值数目

力扣题目链接:https://leetcode.cn/problems/number-of-distinct-averages/

给你一个下标从 0 开始长度为 偶数 的整数数组 nums 。

只要 nums 不是 空数组,你就重复执行以下步骤:

  • 找到 nums 中的最小值,并删除它。
  • 找到 nums 中的最大值,并删除它。
  • 计算删除两数的平均值。

两数 a 和 b 的 平均值 为 (a + b) / 2 。

  • 比方说,2 和 3 的平均值是 (2 + 3) / 2 = 2.5 。

返回上述过程能得到的 不同 平均值的数目。

注意 ,如果最小值或者最大值有重复元素,可以删除任意一个。

 

示例 1:

输入:nums = [4,1,4,0,3,5]
输出:2
解释:
1. 删除 0 和 5 ,平均值是 (0 + 5) / 2 = 2.5 ,现在 nums = [4,1,4,3] 。
2. 删除 1 和 4 ,平均值是 (1 + 4) / 2 = 2.5 ,现在 nums = [4,3] 。
3. 删除 3 和 4 ,平均值是 (3 + 4) / 2 = 3.5 。
2.5 ,2.5 和 3.5 之中总共有 2 个不同的数,我们返回 2 。

示例 2:

输入:nums = [1,100]
输出:1
解释:
删除 1 和 100 后只有一个平均值,所以我们返回 1 。

 

提示:

  • 2 <= nums.length <= 100
  • nums.length 是偶数。
  • 0 <= nums[i] <= 100

方法一:排序 + 双指针 + 哈希

首先对原始数组排序,接着使用双指针分别指向数组的头和尾。

使用一个哈希表存放最大数和最小数之和(因为问的是不同的平均数的数量,因此没必要除以2)

最终返回哈希表中原始的个数即可。

  • 时间复杂度 O ( l e n ( n u m s ) ) O(len(nums)) O(len(nums))
  • 空间复杂度 O ( l e n ( n u m s ) ) O(len(nums)) O(len(nums))

AC代码

C++
class Solution {
public:
    int distinctAverages(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        unordered_set<int> se;
        int l = 0, r = nums.size() - 1;
        while (l < r) {
            se.insert(nums[l++] + nums[r--]);
        }
        return se.size();
    }
};
Python
# from typing import List

class Solution:
    def distinctAverages(self, nums: List[int]) -> int:
        nums.sort()
        se = set()
        l, r = 0, len(nums) - 1
        while l < r:
            se.add(nums[l] + nums[r])
            l += 1
            r -= 1
        return len(se)

同步发文于CSDN,原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/131038154文章来源地址https://www.toymoban.com/news/detail-471298.html

到了这里,关于LeetCode 2465. 不同的平均值数目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 各种平均值:算术平均值,几何平均值,调和平均值等

    平均值概述 平均数反映了一组数据的一般水平,最常见的平均数是算术平均数,除了算数平均数外,还有几何平均数,调和平均数,加权平均数等。 算术平均值(Arithmetic Mean) 公式解读:表示为所有项之和再除以总数。 应用场景:算术平均值是我们生活中最常见的平均值,

    2024年02月11日
    浏览(27)
  • 计算 Python 列表的平均值

    计算 Python 列表的平均值 在 Python 中,我们可以使用多种方法计算列表的平均值。这里将介绍两种常用的方法。 第一种方法是直接使用 Python 的内置函数 sum() 和 len() 。这两个函数分别用于计算列表中所有元素的和,以及列表的长度。我们可以使用这两个函数来计算列表的平均

    2024年02月08日
    浏览(27)
  • 替换Excel偶数行为上下平均值

    169个直接转换上下两行转换实现代码 注: 如果原Excel表格中的行数为奇数,那么输出的新旧Excel文件的最后一行都会是None。而如果原Excel表格中的行数是偶数行,那么新Excel文件的最后一行就可以显示出来(是我们把最后一行给复制来的)。 转换前后数据(169-169)[结果] x y z x y z

    2024年04月15日
    浏览(31)
  • Verilog实现FPGA平均值计算

    Verilog实现FPGA平均值计算 在数字电路设计中,计算平均值是一个非常基础的操作。本文将通过Verilog语言来实现在FPGA中计算一个数据流的平均值。 首先,我们需要定义一个计数器和一个累加器来分别记录输入数据流的总数和总和。这里我们使用32位的寄存器作为计数器和累加

    2024年02月03日
    浏览(115)
  • python 求平均值(含代码示例)

    示例示例Python 求平均值的方法有很多种,下面以求列表中元素的平均值为例,提供代码示例。使用内置函数sum()和len(): Python 求平均值的方法有很多种,下面以求列表中元素的平均值为例,提供代码示例。 1. 使用内置函数sum()和len(): 2. 使用内置函数statistics.mean(): 3. 使用

    2024年02月06日
    浏览(34)
  • Python中计算列表平均值的方法

    列表(list)是Python中一种常用的数据结构,它允许我们存储多个元素。当我们需要计算列表中元素的平均值时,可以使用以下方法。 方法一:使用循环求和 我们可以使用循环遍历列表中的每个元素,并将它们相加,然后将结果除以列表的长度即可得到平均值。下面是使用循

    2024年02月05日
    浏览(41)
  • Python实现平均值算法(含完整代码)

    Python实现平均值算法(含完整代码) 平均值算法是统计学中基础且常用的方法之一,它可以计算出一组数据的平均数。在Python中,我们可以通过简单的代码实现这个算法。 首先,让我们来看一下平均值算法的公式: mean = (x1 + x2 + … + xn) / n 其中,x1、x2、…、xn表示数据集中

    2024年02月08日
    浏览(27)
  • python求列表list平均值的方法

    python内置了两个函数,sum()和len()方法,其中sum()可以用于求取列表的元素和,len()函数可以用于求取列表list元素的个数,由此,利用python求列表list平均值的方法和步骤就脱颖而出了:第一步,使用sum()求元素和;第二步,使用len()求元素个数;第三步,分装为一个函数,方便

    2024年02月11日
    浏览(33)
  • 用C语言实现求平均值的算法

    用C语言实现求平均值的算法 计算平均值是编程中最常见的任务之一,这个问题可以用多种方法来解决。本文介绍如何使用C语言实现一个计算平均值的程序。 输入一组数字 首先需要从用户那里获取一组数字。可以使用scanf函数来从键盘输入数字。在这个例子中,让我们假设用

    2024年02月07日
    浏览(30)
  • 11 | Spark计算数据文件中每行数值的平均值

    需求:计算数据文件中的数值的平均值 背景: 你有一个数据文件,其中包含一系列数值,每行一个数值,数值之间用逗号分隔。 你想使用Apache Spark分布式计算框架来读取数据文件中的数值并计算它们的平均值。 功能要求: 通过Spark配置和上下文初始化Spark应用程序。 从数据

    2024年02月09日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包