力扣 3248. 矩阵中的蛇(Java实现)

题目分析

给定一个值n,既是矩阵边长还是操作次数。蛇可以进行上下左右操作,问操作完毕后的位置

思路分析

首先设置初始位置=0,当读取操作时进行对应的操作。由示例可以看出,UP操作就是i-=n;RIGHT操作就是i+=1;DOWN操作就是i+=n;LEFT操作就是i-=1.

代码

java 复制代码
class Solution {
    public int finalPositionOfSnake(int n, List<String> commands) {
        int index=0;//初始位置
        for(int i=0;i<commands.size();i++){//遍历每个操作
            switch( commands.get(i)){//switch对每个读取的操作进行分辨
                case "UP"://上操作
                    index-=n;//上移一栏-n
                    break;//结束
                case "RIGHT"://右操作
                    index+=1;//右移一格+
                    break;//结束
                case "DOWN"://下操作
                    index+=n;//下移一栏+n
                    break;//结束
                case "LEFT"://左操作
                    index-=1;//左移一格-
                    break;//结束
            }
        }
        return index;//返回位置
    }
}

感谢您能够看到这里,一起见证小何同学的算法学习,如果您有不同的见解,希望能得到您的指点和点悟;如果您是和我一样的同学,也希望这篇文章能对您有所帮助。

相关推荐
踩坑记录15 小时前
leetcode hot100 easy 101. 对称二叉树 递归 层序遍历 bfs
算法·leetcode·宽度优先
2501_9403152616 小时前
leetcode182动态口令(将字符的前几个元素放在字符串后面)
算法
老鼠只爱大米16 小时前
LeetCode经典算法面试题 #98:验证二叉搜索树(递归法、迭代法等五种实现方案详解)
算法·leetcode·二叉树·递归·二叉搜索树·迭代
疯狂的喵1 天前
C++编译期多态实现
开发语言·c++·算法
scx201310041 天前
20260129LCA总结
算法·深度优先·图论
2301_765703141 天前
C++中的协程编程
开发语言·c++·算法
m0_748708051 天前
实时数据压缩库
开发语言·c++·算法
小魏每天都学习1 天前
【算法——c/c++]
c语言·c++·算法
智码未来学堂1 天前
探秘 C 语言算法之枚举:解锁解题新思路
c语言·数据结构·算法
Halo_tjn1 天前
基于封装的专项 知识点
java·前端·python·算法