博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 1033. 移动石子直到连续(Moving Stones Until Consecutive)
阅读量:5051 次
发布时间:2019-06-12

本文共 1068 字,大约阅读时间需要 3 分钟。

目录

题目描述:

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

每一回合,我们假设这三枚石子当前分别位于位置 x, y, zx < y < z。从位置 x 或者是位置 z 拿起一枚石子,并将该石子移动到某一整数位置 k 处,其中 x < k < zk != y

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

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

示例 1:

输入:a = 1, b = 2, c = 5输出:[1, 2]解释:将石子从 5 移动到 4 再移动到 3,或者我们可以直接将石子移动到 3。

示例 2:

输入:a = 4, b = 3, c = 2输出:[0, 0]解释:我们无法进行任何移动。

提示:

  • 1 <= a <= 100
  • 1 <= b <= 100
  • 1 <= c <= 100
  • a != b, b != c, c != a

解法:

class Solution {public:    vector
numMovesStones(int a, int b, int c) { vector
lst = {a, b, c}; sort(lst.begin(), lst.end()); int min_val = 0, max_val = 0; max_val = lst[2] - lst[0] - 2; if(lst[0] + 2 == lst[1] || lst[1] + 2 == lst[2]){ min_val = 1; }else{ if(lst[0] != lst[1] - 1){ min_val++; } if(lst[1] != lst[2] - 1){ min_val++; } } return {min_val, max_val}; }};

转载于:https://www.cnblogs.com/zhanzq/p/10893028.html

你可能感兴趣的文章
在手机网络情况下,Android的微信页面不能播放背景音乐
查看>>
SpringBoot:第二篇 集成日志lombok
查看>>
【Python】新建自定义个数的自定义长度名字
查看>>
区块链与比特币小结
查看>>
也说python的类--基于python3.5
查看>>
Oracle 存储过程
查看>>
HashMap原理阅读
查看>>
冲刺7
查看>>
html5 drag 文件拖拽浅淡
查看>>
window安装Scrapy———解决报错问题
查看>>
关于VS2010编译警告LNK4221
查看>>
简单的一个程序,猜字游戏
查看>>
软件架构阅读笔记07
查看>>
关于使用pageoffice插件实现导出数据到excel文档中
查看>>
OnPreInit,OnInit ,OnInitComplete ,OnPreLoad ,Page_Load等执行顺序
查看>>
Python集合set()操作详解
查看>>
程序员技能图谱
查看>>
CentOS-6.4 安装 Memcached
查看>>
ER图
查看>>
在springboot整合thymeleaf模板引擎中@Controller和@RestController不同注解的跳转页面方法...
查看>>