前言
每天和你一起刷 LeetCode 每日一题~
最近有些课程期中考试所以停更了几天,现在我又回来啦
本期看点:普通简单题
LeetCode 启动!
题目:矩阵中的蛇
代码与解题思路
题目让我从矩阵左上角的 0 元素开始,根据他给的命令数组进行移动,问移动之后的停在矩阵的哪个元素上
我最开始的想法是,直接把这个矩阵构造出来,然后遍历命令数组,记录走过的 x y 轴,然后通过下表的形式找到那个元素
但是转念一想,题目给出的矩阵是有规律的,也就意味着我们其实可以只遍历命令数组,根据规律解出最终的答案。问题来了,有什么规律?
核心思路:
往右走,元素大小会++,往下走,元素大小会 + n
最终代码如下:
func finalPositionOfSnake(n int, commands []string) (ans int) {
for _, v := range commands {
if v[0] == 'U' {
ans -= n
}
if v[0] == 'R' {
ans++
}
if v[0] == 'D' {
ans += n
}
if v[0] == 'L' {
ans--
}
}
return ans
}