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

LeetCode-1033. 移动石子直到连续

题目链接

LeetCode-1033. 移动石子直到连续

题目描述

在这里插入图片描述

题解

题解一(Java)

作者:@仲景
这题目挺难懂的,得画画图才能更好的理解
这也是LeetCode的尿性,习惯了,非得整这种别人看不懂的鸟语
你可以这样理解,给你一个假设长度为无穷的数组,其中有3个下标的位置赋值成了1,其余的都是0
问你,每次只能从头尾选择移动1次,最多多少次能让着3个1排到一起,最少多少次能让着3个1排到一起
这样也许会更好懂一些
先说最多的情况,最多的情况就是左边的1每次1步,一直移动到中间的1的前一个索引位置,右边的1每次1步,一直移动到中间的1的后一个索引位置
首先左右两个1的距离应该是 c-a-1,因为中间还有一个b,所以还要-1,那么最多的公式就是c-a-2
那么最少情况呢,可以分成好多种
情况一:abc本身索引就是连续的,不需要动
情况二:ab连续或者bc连续,只需要把另外一个挪过来就可以了,移动1次
情况三:abc之间有空隙,但是空隙只有1个,那么随便挪动另外一个过来,最少也是移动1次
情况四:abc之间有空隙,但是空隙很多,所有a移动到b的前一个位置需要1次,c移动到b的后一个位置需要1次,那么最少也得2次
所有情况就已经讲完了,下面的图和情况1234不是一一对应的,只是用来证明情况1234的图
在这里插入图片描述

class Solution {public int[] numMovesStones(int a, int b, int c) {int[] arr = {a, b, c};Arrays.sort(arr);a = arr[0];b = arr[1];c = arr[2];int min = 0;// 如果c和a相差2,那abc就是连续的,不需要移动// 只有c和a之间有超过1个格子的时候才需要移动if (c - a > 2) {if (b - a <= 2 || c - b <= 2) {// 如果abc之中有任何两个元素紧挨着或者中间只有一个格子的时候,最少只需要1次就够了min = 1;} else {// 如果abc之中没有任何一个格子紧挨或者相差1个格子,那么最少需要2次min = 2;}}// 最多就是c-a-2return new int[]{min, c - a - 2};}
}

相关文章:

LeetCode-1033. 移动石子直到连续

题目链接 LeetCode-1033. 移动石子直到连续 题目描述 题解 题解一&#xff08;Java&#xff09; 作者&#xff1a;仲景 这题目挺难懂的&#xff0c;得画画图才能更好的理解 这也是LeetCode的尿性&#xff0c;习惯了&#xff0c;非得整这种别人看不懂的鸟语 你可以这样理解&a…...

JVM调优入门指南:掌握步骤、参数和场景

前言 作为Java开发者&#xff0c;我们经常需要优化应用的性能&#xff0c;其中JVM调优是非常重要的一部分。在本文中&#xff0c;我们将介绍JVM调优的一般步骤和方法&#xff0c;了解JVM调优参数&#xff0c;如堆大小、新生代比例、GC算法等参数的作用和配置方式&#xff0c;并…...

基于JSP+MySQL的跳蚤市场网站设计与开发

摘 要 在当今社会,网络信息已经不是什么很陌生的词汇,每天都在这个信息时代里生活着并且享受着它带来的与众不同。网络购物可以说是飞速发展的,这种购物方式逐渐的影响着人们的衣食住行。所以利用计算机实现 跳蚤市场网站设计与开发势在必行。本网站是一个校园的跳蚤市场网…...

内网穿透NPS和宝塔Nginx配合使用,开启SSL访问本地局域网网络

并非为了教学&#xff0c;仅供自己记录&#xff0c;方便下次用。所以内容不会刻意花时间写的很细节详细。 1. 服务器NPS配置 NPS install安装后&#xff0c;配置文件会在其他位置&#xff0c;通过是 /etc/nps/nps.conf目录。 找到进行修改&#xff0c;主要修改的是http_proxy_p…...

ToLua框架

ToLua 是一个用于在 Unity 中为 Lua 提供 C# 语言绑定的框架。通过 ToLua&#xff0c;你可以方便地将 C# 代码暴露给 Lua 脚本&#xff0c;并在 Lua 脚本中调用 C# 类、方法和属性。 更新流程 原理&#xff1a;使用AssetBundle进行资源的更新&#xff0c;而由于lua运行时才编…...

Golang-常见数据结构Map

Map map 是一种特殊的数据结构&#xff1a;一种元素对&#xff08;pair&#xff09;的无序集合&#xff0c;pair 的一个元素是 key&#xff0c;对应的另一个元素是 value&#xff0c;所以这个结构也称为关联数组或字典。这是一种快速寻找值的理想结构&#xff1a;给定 key&…...

基于空间矢量脉宽调制(SVPWM)的并网逆变器研究(Simulink)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

介绍tcpdump在centos中的使用方法

tcpdump是一款强大的命令行数据包分析器&#xff0c;支持多种过滤和抓包参数。下面将介绍tcpdump的常用抓包参数。当需要监控CentOS系统的网络流量或者进行网络故障排查时&#xff0c;可以使用tcpdump来捕获数据包并进行分析。 下面介绍在CentOS中使用tcpdump的方法&#xff1…...

机器学习实战:Python基于DT决策树模型进行分类预测(六)

文章目录 1 前言1.1 决策树的介绍1.2 决策树的应用 2 Scikit-learn数据集演示2.1 导入函数2.2 导入数据2.3 建模2.4 评估模型2.5 可视化决策树2.6 优化模型2.7 可视化优化模型 3 讨论 1 前言 1.1 决策树的介绍 决策树&#xff08;Decision Tree&#xff0c;DT&#xff09;是一…...

操作系统之进程同异步、互斥

引入 异步性是指&#xff0c;各并发执行的进程以各自独立的、不可预知的速度向前推进。 但是在一定的条件之下&#xff0c;需要进程按照一定的顺序去执行相关进程&#xff1a; 举例说明1&#xff1a; 举例说明2: 读进程和写进程并发地运行&#xff0c;由于并发必然导致异步性…...

你了解这2类神经性皮炎吗?常常预示着这5类疾病!

神经性皮炎属于慢性皮肤病&#xff0c;患者皮肤可出现局限性苔藓样变&#xff0c;同时伴有阵发性瘙痒。神经性皮炎易发生在颈部两侧和四肢伸侧&#xff0c;中年人是高发人群。到目前为止神经性皮炎病因还并不是很明确&#xff0c;不过一部分病人发病前常常出现精神神经方面异常…...

二叉搜索树【Java】

文章目录 二叉搜索树的性质二叉搜索树的操作遍历查找插入删除 二叉搜索树又称为二叉排序树&#xff0c;是一种具有一定性质的特殊的二叉树&#xff1b; 二叉搜索树的性质 若它的左子树不为空&#xff0c;则左子树上结点的值均小于根节点的值&#xff1b; 若它的右子树不为空&a…...

二叉树的遍历方式

文章目录 层序遍历——队列实现分析Java完整代码 先序遍历——中左右分析递归实现非递归实现——栈实现 中序遍历——左中右递归实现非递归实现——栈实现 后续遍历——左右中递归实现非递归实现——栈加标志指针实现 总结 层序遍历——队列实现 给你二叉树的根节点 root &…...

SpringCloud01

SpringCloud01 微服务入门案例 实现步骤 导入数据 实现远程调用 MapperScan("cn.itcast.order.mapper") SpringBootApplication public class OrderApplication {public static void main(String[] args) {SpringApplication.run(OrderApplication.class, args);}…...

SpringBoot整合Redis实现点赞、收藏功能

前言 点赞、收藏功能作为常见的社交功能&#xff0c;是众多Web应用中必不可少的功能之一。而redis作为一个基于内存的高性能key-value存储数据库&#xff0c;可以用来实现这些功能。 本文将介绍如何使用spring boot整合redis实现点赞、收藏功能&#xff0c;并提供前后端页面的…...

【Java入门合集】第一章Java概述

【Java入门合集】第一章Java概述 博主&#xff1a;命运之光 专栏&#xff1a;JAVA入门 学习目标 1.理解JVM、JRE、JDK的概念&#xff1b; 2.掌握Java开发环境的搭建,环境变量的配置&#xff1b; 3.掌握Java程序的编写、编译和运行&#xff1b; 4.学会编写第一个Java程序&#x…...

Android无线调试操作说明

1.首先通过手机机蓝牙将jackpal.androidterm-1.0.70.apk(终端模拟器)传的设备上安装 链接: https://pan.baidu.com/s/151SzEgsX0b_VTWowzfUrsA?pwdrn75 提取码: rn75 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 2.打开这个终端模拟器&#xff0c;输入以下命…...

什么是 Python ?聊一聊Python程序员找工作的六大技巧

最近我一直在思考换工作的事情。因此&#xff0c;这段时间我会看一些题目&#xff0c;看一些与面试相关的内容&#xff0c;以便更好地准备面试。我认为无论你处于什么阶段&#xff0c;面试中都会有技术面试环节。无论是初级职位还是高级职位&#xff0c;都需要通过技术面试来检…...

RabbitMQ 01 概述

什么是消息队列 进行大量的远程调用时&#xff0c;传统的Http方式容易造成阻塞&#xff0c;所以引入了消息队列的概念&#xff0c;即让消息排队&#xff0c;按照队列进行消费。 它能够将发送方发送的信息放入队列中&#xff0c;当新的消息入队时&#xff0c;会通知接收方进行处…...

面经|曹操出行供需策略运营

1.自我介绍 面试官表示看了简历之后&#xff0c;表示对专业能力比较放心。想了解下对于专业能力之外&#xff0c;关于其他方面的介绍。 2.策略运营&#xff0c;除了工具之外&#xff0c;还有哪些能力是需要具备的 回答&#xff1a;主要是从做项目的维度逻辑先去回答的。 分析思…...

工程师如何构建高效个人知识库:从信息管理到生产力提升

1. 项目概述&#xff1a;从信息过载到有序管理&#xff0c;一个工程师的救赎之路作为一名在电子设计自动化&#xff08;EDA&#xff09;和嵌入式系统领域摸爬滚打了十几年的工程师&#xff0c;我的日常和原文作者Clive Maxfield描述的几乎一模一样。我的浏览器标签页常年保持在…...

PIC16F84A实现多功能逻辑分析仪与频率计数器设计

1. 项目概述在嵌入式系统开发中&#xff0c;逻辑分析仪和频率计数器是硬件调试的两大核心工具。传统商用设备往往价格昂贵且功能单一&#xff0c;而基于PIC16F84A微控制器的设计方案&#xff08;如Microchip AN689应用笔记&#xff09;提供了一种高性价比的替代方案。这个多功能…...

为LLM构建持久化知识大脑:基于知识图谱与向量搜索的Memento MCP实战

1. 项目概述&#xff1a;为LLM构建一个持久化、可理解的知识大脑如果你用过Claude Desktop、Cursor或者GitHub Copilot&#xff0c;可能会发现一个痛点&#xff1a;这些AI助手虽然聪明&#xff0c;但它们的“记忆”是短暂的、碎片化的。每次对话都像是一次全新的邂逅&#xff0…...

CANN算子库幂运算API文档

aclnnPowTensorScalar&aclnnInplacePowTensorScalar 【免费下载链接】ops-math 本项目是CANN提供的数学类基础计算算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-math &#x1f4c4; 查看源码 产品支持情况 产品是否支持A…...

12,Springboot3+vue3实现系统公告功能

做一个新的公告模块步骤如下 一, 后端 1, 创建系统公告表 CREATE TABLE `notice` (`id` int NOT NULL AUTO_INCREMENT COMMENT 主键ID,`title` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 公告标题,`content` varchar(255) COLLATE utf8mb4_unicode_ci …...

【深度解析】Hermes Agent:持久记忆、自学习闭环与桌面化 Autonomous AI 工作流实践

摘要 Hermes Agent 的核心价值不只是“带工具的聊天机器人”&#xff0c;而是面向长期运行的自主智能体系统。本文从持久记忆、自学习技能、工具编排和桌面化管理角度&#xff0c;解析其架构思想&#xff0c;并给出一个可落地的 Python 实战示例。背景介绍&#xff1a;从 Chatb…...

ESPAsyncWebServer库在Arduino IDE下的完整安装与避坑指南(附依赖库下载)

ESPAsyncWebServer库在Arduino IDE下的完整安装与避坑指南 第一次接触ESPAsyncWebServer时&#xff0c;我花了整整一个下午才把环境配置成功。作为过来人&#xff0c;我深知新手在Arduino IDE中安装这个库会遇到哪些"坑"——从依赖库版本不匹配到文件路径错误&#x…...

如何通过Noto Emoji实现跨平台表情符号统一:技术原理与应用实践

如何通过Noto Emoji实现跨平台表情符号统一&#xff1a;技术原理与应用实践 【免费下载链接】noto-emoji Noto Emoji fonts 项目地址: https://gitcode.com/gh_mirrors/no/noto-emoji 在数字通信日益全球化的今天&#xff0c;表情符号已成为跨越语言障碍的重要视觉语言。…...

2026届最火的AI写作平台推荐榜单

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 因学术写作要求持续提高&#xff0c;论文AI工具成了学生和研究人员的关键辅助办法&#xff0…...

CSS 阴影高级技巧完全指南

CSS 阴影高级技巧完全指南 引言 CSS 阴影是现代 Web 设计中常用的视觉效果&#xff0c;它可以为元素增添层次感和立体感。本文将深入探讨 CSS 阴影的各种类型和高级技巧。 基础语法回顾 box-shadow .box-shadow {box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); }text-shadow .te…...