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

南通的电商网站建设品牌网站建设

南通的电商网站建设,品牌网站建设,南通网站建设公司排名,口味王网站建设可行分析表移动石子直到连续【LC1033】 三枚石子放置在数轴上,位置分别为 a,b,c。 每一回合,你可以从两端之一拿起一枚石子(位置最大或最小),并将其放入两端之间的任一空闲位置。形式上,假设这…

移动石子直到连续【LC1033】

三枚石子放置在数轴上,位置分别为 abc

每一回合,你可以从两端之一拿起一枚石子(位置最大或最小),并将其放入两端之间的任一空闲位置。形式上,假设这三枚石子当前分别位于位置 x, y, zx < y < z。那么就可以从位置 x 或者是位置 z 拿起一枚石子,并将该石子移动到某一整数位置 k 处,其中 x < k < zk != y

当你无法进行任何移动时,即,这些石子的位置连续时,游戏结束。

要使游戏结束,你可以执行的最小和最大移动次数分别是多少? 以长度为 2 的数组形式返回答案:answer = [minimum_moves, maximum_moves]

要赶紧回归学习状态

  • 思路

    排序后分类讨论

    • 最大移动次数【贪心】

      每次向中间十字移动一格,使移动次数最大

    • 最小移动次数【分情况讨论】

      由于可以移动至任意位置,因此最小次数最多为2

      • 如果三颗石子已经连续,那么不需要移动
      • 如果三颗石子两颗连续 ,那么只需移动1次
      • 如果两颗石子距离为1,那么只需移动1次
      • 否则,移动2次
  • 实现

    class Solution {public int[] numMovesStones(int a, int b, int c) {int[] stones = {a, b, c};Arrays.sort(stones);int[] res = new int[2];res[1] = stones[2] - stones[0] - 2;// 最大// 最小// 已经连续 0次// 两颗连续 1次// 两颗相邻为1 1次// 否则 移动2次if(stones[2] - stones[0] == 2){res[0] = 0;}else if (stones[2] - stones[1] <= 2 || stones[1] - stones[0] <= 2){res[0] = 1;}else {res[0] = 2;}return res;}}
    
    • 复杂度
      • 时间复杂度: O ( 1 ) O(1) O(1)
      • 空间复杂度: O ( 1 ) O(1) O(1)
http://www.dinnco.com/news/23194.html

相关文章:

  • 响应式网站应用网络宣传怎么做
  • 17网站一起做网店普宁轻纺城拉新十大推广app平台
  • 男女插孔做暖暖的试看网站大全广告公司推广
  • cdn网站加速合肥百度推广公司哪家好
  • 网站英文域名是什么bt蚂蚁
  • 做网站要做哪些快速提升关键词排名软件
  • 深圳深圳龙岗网站建设优化设计五年级下册数学答案
  • 如何选择wordpress主题seo优化教程自学网
  • 网站分析一般要重点做哪几项内容最近三天的新闻大事小学生
  • seopc流量排名网站最近热点新闻事件2023
  • 重庆奉节网站建设公司电话成都百度关键词排名
  • 做网站推广 需要ftp100个关键词
  • 广州企业网页制作北京seo推广外包
  • 台湾建设公司网站2021最火关键词
  • 做网站绘制蓝图的步骤时事新闻热点摘抄
  • 为什么做美食视频网站百度推广登录页面
  • 北京城乡和住房建设委员会网站360优化大师最新版的功能
  • 中文安卓开发软件网站seo
  • 伊春北京网站建设站长工具seo综合查询访问
  • php网站开发哪个培训学校好安卓aso优化
  • 众意网站建设zyecn网店运营推广平台
  • 做网站除甲醛需不需要营业执照怎么申请建立网站
  • 儿童 网站模板石家庄网站建设就找
  • 做货运网站找哪家好大连seo外包平台
  • html做的网站排版错误个人网站制作
  • 网站首页图片不清楚外贸软件
  • 17网站一起做网店潮汕依依公司运营策划方案
  • 郑州网站建设公司哪家好网络广告推广服务
  • 建设自己的企业网站需要什么资料百度下载app
  • 营销型网站策划公司查网站流量查询工具