当前位置:   article > 正文

python--力扣2148题元素计数问题_给你一个整数数组 nums ,统计并返回在 nums 中同时至少具有一个严格较小元素和一

给你一个整数数组 nums ,统计并返回在 nums 中同时至少具有一个严格较小元素和一

题目:

给你一个整数数组 nums ,统计并返回在 nums 中同时至少具有一个严格较小元素和一个严格较大元素的元素数目。

例如 输入:nums = [-3,3,3,90]

        输出:2

解释:元素 3 :严格较小元素是元素 -3 ,严格较大元素是元素 90 。

由于有两个元素的值为 3 ,总计有 2 个元素都满足在 nums 中同时存在一个严格较小元素和一个严格较大元素。

解题思路:

首先通过读题,我们可以得出解题的核心在于统计最大元素和最小元素之间的元素数目。

那么问题就变得简单起来:

1.先对数组内元素按从小到大或从大到小顺序排序,头尾就是值最小和最大的元素,

2.去除数组头尾最大和最小元素

3.计算数组长度(数组长度就是nums中具有严格较小元素和严格较大元素的元素数目啦!)

注意:头尾可能重复,比如nums=[-1,-1,1,1,2,2],应去掉重复的头尾,再计算数组长度。

源代码:

  1. def numbers(l):
  2. sorted(l)
  3. if l==[] or l[0]==l[-1] :
  4. num=0#数组为空或数组内元素相等,返回0
  5. else:
  6. #掐头
  7. a=l[0]
  8. l.remove(l[0])
  9. i = 0
  10. while l[i]==a:
  11. l.remove(l[i])
  12. i=i+1
  13. #去尾
  14. b=l[-1]
  15. l.remove(l[-1])
  16. j = -1
  17. while l[j]==b:
  18. l.remove(l[j])
  19. j=j-1
  20. num=len(l)
  21. return num
'
运行

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/847034
推荐阅读
相关标签
  

闽ICP备14008679号