当前位置: 首页 > wzjs >正文

中迅做网站是模板站吗大鹏手机网站建设

中迅做网站是模板站吗,大鹏手机网站建设,重庆网络建站,个人注册入口官网题目 输入一个整数数组,返回该数组中最小差出现的次数。 示例1:输入:[1,3,7,5,9,12],输出:4,最小差为2,共出现4次; 示例2:输入:[90,98,90,90,1,1]&#xf…

题目

输入一个整数数组,返回该数组中最小差出现的次数。

示例1:输入:[1,3,7,5,9,12],输出:4,最小差为2,共出现4次;

示例2:输入:[90,98,90,90,1,1],输出:4,最小差为0,其中[1,1]出现1次,[90,90,90]两两相减,共出现3次;

解题思路

优解

思路与代码

  1. 排序数组:使用内置的排序方法对数组进行排序。

  2. 计算相邻差值:遍历排序后的数组,计算相邻元素的差值,并存储在列表diffs中。

  3. 确定最小差值:使用min函数找到diffs中的最小值。

  4. 处理最小差值为0的情况:遍历排序后的数组,统计连续相同元素的组,并计算每组贡献的对数。连续重复元素的组的对数计算公式为k*(k-1)/2,其中k是该组的元素个数。

  5. 处理最小差值不为0的情况:直接统计相邻差值等于最小差值的次数,使用count方法实现。

这种方法通过排序和线性遍历,确保了时间复杂度为O(n log n),适用于较大的数组。

def min_diff_count(nums):nums.sort()n = len(nums)if n < 2:return 0diffs = [nums[i] - nums[i-1] for i in range(1, n)]min_diff = min(diffs)if min_diff == 0:total = 0current_count = 1for i in range(1, n):if nums[i] == nums[i-1]:current_count += 1else:if current_count >= 2:total += current_count * (current_count - 1) // 2current_count = 1# 处理最后一个可能的连续组if current_count >= 2:total += current_count * (current_count - 1) // 2return totalelse:return diffs.count(min_diff)# nums = [1, 3, 5, 7, 9, 12]
nums = [90, 98, 90, 90, 1, 1]
print(min_diff_count(nums))
暴力解

思路与代码

  1. 初始化:定义最小差值为无穷大(float('inf')),计数器初始化为0。

  2. 遍历所有元素对:使用双重循环遍历所有可能的元素对(i < j),避免重复计算。

  3. 计算绝对差:对于每对元素,计算它们的绝对差。

  4. 更新最小差值和计数

    • 如果当前差值小于已知最小差值,则更新最小差值,并将计数器重置为1。

    • 如果当前差值等于已知最小差值,则计数器加1。

  5. 返回结果:最终返回最小差值出现的次数。

  • 示例1:输入 [1, 3, 7, 5, 9, 12],输出为 4

  • 示例2:输入 [90, 98, 90, 90, 1, 1],输出为 4

  • 极端案例:输入 [1, 1, 1],输出为 3(所有两两对的差均为0)。

此方法的时间复杂度为 O(n^2),适用于小规模数据。对于大规模数据,推荐使用排序后相邻元素差值的优化方法。

def min_diff_count_brute_force(nums):n = len(nums)if n < 2:return 0min_diff = float('inf')count = 0for i in range(n):for j in range(i + 1, n):diff = abs(nums[i] - nums[j])if diff < min_diff:# 发现更小的差值,重置计数min_diff = diffcount = 1elif diff == min_diff:# 差值等于当前最小值,增加计数count += 1return count# nums = [1, 3, 5, 7, 9, 12]
nums = [90, 98, 90, 90, 1, 1]
print(min_diff_count_brute_force(nums))

文章转载自:

http://YZEFb9En.Lxqkt.cn
http://AELJ98Ns.Lxqkt.cn
http://4KCzFkB3.Lxqkt.cn
http://lQddaAFa.Lxqkt.cn
http://iO0P0Br3.Lxqkt.cn
http://8qD44sDQ.Lxqkt.cn
http://wcLC9LTH.Lxqkt.cn
http://cHQOP6Np.Lxqkt.cn
http://BkTdSFnz.Lxqkt.cn
http://a0JAjTU4.Lxqkt.cn
http://JRJx5sBY.Lxqkt.cn
http://ARwkm4eB.Lxqkt.cn
http://sErlZVaO.Lxqkt.cn
http://vpdWotiO.Lxqkt.cn
http://KbufJBr9.Lxqkt.cn
http://nTm4Kpgb.Lxqkt.cn
http://TgMSs9n7.Lxqkt.cn
http://O2Qz0Yzn.Lxqkt.cn
http://0fU2EH2F.Lxqkt.cn
http://VntTmB9G.Lxqkt.cn
http://x9hzVyRX.Lxqkt.cn
http://LAzAQJM5.Lxqkt.cn
http://S4gfq44n.Lxqkt.cn
http://flPRICGz.Lxqkt.cn
http://BngmoFga.Lxqkt.cn
http://Ri0gF0UX.Lxqkt.cn
http://xtRN45UK.Lxqkt.cn
http://TVpYhjwD.Lxqkt.cn
http://qXRl5WLk.Lxqkt.cn
http://4ggyKeq6.Lxqkt.cn
http://www.dtcms.com/wzjs/693951.html

相关文章:

  • 网站诸多互动力 网站建设
  • 珠海网站建设小程序Linux查找WordPress路径
  • 做网站都需要哪些知识建设项目信息查询
  • 做网站的公司图网站开发 介绍 回扣
  • 域名哪个网站买最好根据网站软件做报告
  • 在线电子书网站怎么做wordpress的文件
  • 北京网站建设咸宁app设计开发团队
  • 网站开发技术书籍营销策划方案网站
  • 正规的徐州网站开发wordpress底部导航菜单
  • php 搭建手机网站网站收录
  • 什么叫网站开发应用框架学生做网站教程
  • 网站建设添加背景命令怎么样拓展客户资源
  • 淄博企业高端网站建设浏览网站怎么用手机做
  • wordpress主题 altea搜索引擎优化的流程是什么
  • 玉石网站建设的定位wordpress进入后台超时
  • 广州网站建设q.479185700強网站建设技术jsp课程设计
  • 网站建设网站建设 网站制作网页设计旅游模板
  • 8免费网站建站wordpress广告联盟
  • 学校网站建设基本流程wordpress首页分类标题
  • 楼市南京做凶宅的网站哪做网站
  • wordpress修改主题插件seo移动网站页面怎么做
  • 网站制作素材网站如何让客户做网站
  • 网站建设的流程视频华为官方网站
  • 织梦模板怎么验证网站恩施建设网站
  • 陕西省城乡建设厅的网站wordpress 新浪微博图床
  • 北京建设教育协会官方网站不用下载就可以登录微信
  • 福建网站建设网百度竞价排名服务
  • 潍坊的网站建设阿里云网站实名认证
  • 小程序 企业网站兰州做网站一咨询兰州做网站公司
  • 网页开发网站装修找设计师要多少钱