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

inititle 网站建设站群 网站如何做

inititle 网站建设,站群 网站如何做,宜城网站定制,做视频网站服务器多少钱思路 算法归根到底就是找规律的游戏,我们首先来看一个现象: 以数组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.15wanjia.com/news/188094.html

相关文章:

  • 最大的搜索网站排名网站备案后应该做什么
  • 移动网站开发环境 主流域名批量注册查询
  • 新手建网站什么类型好域名备案查询网站备案信息查询
  • 城市门户网站.net网站开发教程百度贴吧
  • 安卓做网站教程家居网站建设基本流程
  • 大气网站首页搜索引擎营销的内容
  • 商城网站静态模板下载营销型网站建设优化建站
  • 开个人网站如何赚钱建设龙卡e付卡网站
  • 做网站要学什么知识自贡建设投资有限公司网站
  • 福建省建设信息网站重庆南坪网站建设
  • 在手机上如何制作网站文字生成图片在线使用
  • 图片站手机网站怎么做的怎么样做搜索引擎网站
  • 广告素材网站网站建设需要哪些东西
  • 企业做外贸网站常用术语wordpress怎么添加ga统计
  • 凡科网免费网站域名注册在线给图片加水印
  • 免费 微网站在线学做网站
  • 网站没有索引量是什么北京网站改版哪家好
  • 建设网站的网站是什么做物流网站费用
  • 微信门户网站开发网站建设的含盖哪方面
  • 做任务领佣金的网站nas 做网站
  • 免费网站自己做过年做哪个网站能致富
  • 广州市研发网站建设平台安邦消防安全技术服务有限公司
  • 网投网站怎么做重庆所有做网站的公司排名
  • 徐州市建设局官方网站和生活app下载安装最新版
  • 合肥网站seo优化排名宁晋网站开发
  • 企业网站如何推广常见的渠道推广方式有哪些
  • 网站策划厂vi企业设计
  • 公司建一个网站织梦免费企业网站
  • 单页营销型网站免费的网站程序哪里好
  • html教程网站重庆网站备案流程