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

网站建设及政务公开工作网站统计数据分析

网站建设及政务公开工作,网站统计数据分析,网站建设图文,济南网站建设培训班思路 算法归根到底就是找规律的游戏,我们首先来看一个现象: 以数组nums [1,2,3,4,5]为例 当我们将数组排序后,可以知道最小值为1,最大值为5,此时我们需要四次运算可以使最小值与最大值相等: 第一次:2,3,4,…

思路

算法归根到底就是找规律的游戏,我们首先来看一个现象:
以数组nums =[1,2,3,4,5]为例
当我们将数组排序后,可以知道最小值为1,最大值为5,此时我们需要四次运算可以使最小值与最大值相等:
第一次:2,3,4,5,5
第二次:3,4,5,6,5
第三次:4,5,6,7,5
第四次:5,6,7,8,5
运算次数 = 最大值 - 最小值

这时我们观察: 经过四次累加,nums = [5,6,7,8,5],这时之前数组的最大值已经等于数组的最小值,因此我们将数组排序后会得到 nums = [5,5,6,7,8],我们重复上面的步骤,继续进行数组累加:
第一次: 6,6,7,8,8
第二次: 7,7,8,9,8
第三次: 8,8,9,10,8
运算次数 = 最大值 - 最小值

我们到这里可以总结出第一个规律:
每一轮我们使最小值等于最大值的运算次数等于数组中最大值与最小值的差值。

然后我们观察下在排序前的数组numsOld = [5,5,6,7,8] 和 numsNew = [8,8,9,10,8]可以发现虽然我们的最小值在增加的过程中向最大值趋近,但是此时次大值同样的以相同的数值进行累加成为了最新的最大值,当完成一轮加法运算后,原本的最大值就会变成最小值,次大值就会变成最大值,而我们只需要根据这个规律,就不需要重复的进行加法运算。

我们只需要从最大值开始统计每一轮使最小值与最大值相等的次数即可。
好了,让我们看代码:

    private static int minMoves(int[] nums) {int times = 0;Arrays.sort(nums);// 判断if (nums.length == 1 || nums[nums.length - 1] == nums[0]) {return times;}// 开启循环for (int i = nums.length - 1; i >= 0; i--) {times += nums[i] - nums[0] > 0 ? nums[i] - nums[0] : 0;}return times;}

运行结果:
image.png{:width=400}

http://www.shuangfujiaoyu.com/news/33840.html

相关文章:

  • 呼和浩特市做网站公司好的优化营商环境的金句
  • 福州专业网站建设推广费用优化大师
  • 网站搭建报价单yandex搜索入口
  • 湖北 网站 备案 时间广告软文外链平台
  • 哪个网站做童装批发巩义网络推广公司
  • 广州新型病毒最新情况seo课程培训视频
  • 写网站建设的软文中囯联通腾迅
  • 可靠的网站建设图如何进行网站性能优化
  • 浙江省住房城乡建设厅网站首页商城小程序
  • 云南网站建设费用网站关键词优化培训
  • wordpress排版问题抖音seo排名软件
  • 企业网站建设步骤网站优化排名优化
  • 收款后自动发货的网站是怎么做的seo是什么意思seo是什么职位
  • 东莞网站制作网站设计网络项目发布网
  • 福州seo公司网站网站seo关键词优化
  • 台州网站设计飞速俄国搜索引擎yandex入口
  • iis 网站访问权限设置网络稿件投稿平台
  • 网站360全景图怎么做百度手机版下载
  • 潍坊个人做网站怎样做网络推广营销
  • wordpress为何登苏州关键词优化排名推广
  • html5手机网站分辩率搜索引擎培训班
  • 网站移动端建设今日最新的新闻
  • 万网空间最多放几个网站企业文化的重要性和意义
  • 企业网站建设与网页设计宁波品牌网站推广优化
  • 四川汉舟电力建设有限公司网站信息流优化师简历模板
  • 在青海省住房和城乡建设厅网站2024年1月新冠高峰期
  • 农业开发公司企业网站建设万网域名官网
  • 地产网站设计网络策划
  • 网站建设与管理 十四五国规教材网站网络营销公司
  • 寮步疫情最新消息今天长沙官网seo收费标准