切比雪夫距离 ( Chebyshev Distance )

本文介绍了切比雪夫距离的概念,通过国王走棋盘的例子解释其定义,并讲述了如何在LeetCode 1226题中运用该距离进行优化,将复杂逻辑简化为一行代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

切比雪夫距离Chebyshev Distance


前言

听说进互联网大厂都要刷题,我虽然是做Android graphics,不是做互联网的,但是也有一颗进大厂的心,所以力扣也要刷起来。
这是我做的力扣1226题,相对于别的简单的题都是手到擒来,这道题着实花了一些时间,做完了沾沾自喜的时候才发现,原来已经有先辈总结好了公式~~~那就是切比雪夫距离 ( Chebyshev Distance )


一、简介

啥是切比雪夫距离 ( Chebyshev Distance )呢?具体描述如下:

国王走一步能够移动到相邻的8个方格中的任意一个。那么国王从格子(x1,y1)走到格子(x2,y2)最少需要多少步?自己走走试试。
你会发现最少步数总是max( | x2-x1 | , | y2-y1 | ) 步 。
这种距离度量方法叫切比雪夫距离。
二维平面两点a(x1,y1)与b(x2,y2)间的切比雪夫距离

二、自己的理解

说实话,光看上面的简介,我实在看不懂到底是怎么推导出来的?然后就是各种搜索,看了各种博客之后,终于能理解了,然后画了这张图,一目了然。
在这里插入图片描述
所以力扣1226题从各种if…else直接改成了max( | x2-x1 | ,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值