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

重庆有的设计网站/百度识图网页版入口

重庆有的设计网站,百度识图网页版入口,余姚公司做网站,做自己的网站服务器多少钱面试题目(贝壳笔试): 给定一个数列,调整数列中的数值,使数列变成一个严格的先递增,后递减的数列(严格递增递减,是指相邻的数字不存在相等的情况,一定存在大小关系&#…

面试题目(贝壳笔试):

给定一个数列,调整数列中的数值,使数列变成一个严格的先递增,后递减的数列(严格递增递减,是指相邻的数字不存在相等的情况,一定存在大小关系)。调整数值的时候,只能增加数值,求出满足严格递增递减数列的最小增加和。

示例:

  1. 数列 [1, 2, 8, 8, 4, 3],调整为严格递增递减数列后,最小增加和为1,此时数列变为[1, 2, 9, 8, 4, 3]。
  2. 数列[1, 4, 2, 3, 5],调整为严格递增递减数列后,最小增加和为6,此时数列变为[1, 4, 5, 6, 5]。

答案解析:

思路分析:

  1. 该题的核心思想是要把数列变为一个严格递增递减数列,所以调整后数列中最大值的位置肯定在第二个和倒数第二个位置之间(2 ~ ary.length - 1)。
  2. 假定最大值的位置,遍历数组,调整数列使其变成递增递减数列,求出增加和。
  3. 严格递增递减数列有 ary.length - 2 种情况,求出最小的增加和即可。

实现代码:

var ary = [1, 4, 2, 3, 5];
function changeAry(ary) {var minSum = -1;for (var i = 1, len = ary.length; i < len - 1; i++) {var sum = 0;var tempAry = ary.concat();// 递增部分for (var m = 0; m < i; m++) {if (tempAry[m] >= tempAry[m + 1]) {var diff = tempAry[m] - tempAry[m + 1];tempAry [m + 1] += diff + 1;sum += diff + 1;}}// 递减部分for (var n = len - 1; n > i; n--) {if (tempAry[n] >= tempAry[n - 1]) {var diff = tempAry[n] - tempAry[n - 1];tempAry[n -1] += diff + 1;sum += diff + 1;}}if(i == 1) {minSum = sum;console.log(tempAry);console.log(minSum);} else {if(minSum > sum) {minSum = sum;console.log(tempAry);console.log(minSum);}}tempAry = null;}
}
changeAry(ary);

注意:

  1. 代码中之所以要复制一份数组,是因为对数组值的改变,会影响下一次遍历。
  2. Array.concat()方法,会复制数组得到副本,对副本的修改,不会影响原数组的值。

扫一扫 下方二维码,关注我的公众号【前端名狮】,更多精彩内容陪伴你!
【前端名狮】

http://www.jmfq.cn/news/4851847.html

相关文章:

  • php wap网站源码/上海关键词推广公司
  • 如何建设好一个网站/旺道seo软件技术
  • 泊头做网站电话/网络推广方案范文
  • 免费拥有自己的网站/seo是什么软件
  • 网站引导页面制作的四个任务名称/网络推广方法技巧
  • 怎么在各大网站做推广/互联网营销师证书是国家认可的吗
  • 广州市网站建设公司/查网站是否正规
  • wordpress获取当前页地址/seo博客写作
  • 网站网站设计网站/互联网广告推广公司
  • 做网站的要到处跑吗/百度指数排行榜哪里看
  • 建设摩托车所有车型/seo快速排名优化公司
  • 桂林手机网站制作/百度网盘人工客服
  • 网站与网页区别/cms网站模板
  • wordpress文章中文版/优化算法
  • 兵团建设环保局网站/知乎小说推广对接平台
  • 南京做网站价格/seo zac
  • 推广网站的软文/网站制作厂家有哪些
  • 护肤品主题网站怎么做/社区建站网站系统
  • 专业网站建设出售/黑龙江头条今日新闻
  • 番禺区大石做网站/优化排名软件
  • 房产网站 设计方案/大数据统计网站
  • 免费做网站建设/seo技术培训
  • 深圳市建设工程有限公司/江西优化中心
  • 分销平台官网/优化内容
  • 网站建设总体目标/优化网络搜索引擎
  • google网站优化工具/百度自动优化
  • 烟台网站建设服务/站长工具权重查询
  • 阿里云虚拟主机搭建wordpress/无锡seo优化
  • 对网站建设心得/彩虹云商城网站搭建
  • mvc5 网站开发之美/链接搜索