每日一题——LeetCode1496.判断路径是否相交

方法一 Set集合

用x=0,y=0来模拟点的坐标移动,N就是y+1,S就是y-1,E就是x+1,W就是x-1,没有重复出现的坐标就代表没有相交

javascript 复制代码
var isPathCrossing = function(path) {
    let set = new Set()
    let x=0,y=0
    set.add(x+','+y)
    for(let char of path){
        switch(char){
            case "N":y++;break;
            case "S":y--;break;   
            case "W":x--;break;   
            case "E":x++;break;
        }
        if(set.has(x+','+y)) return true
        else set.add(x+','+y)
    }
    return false
};

消耗时间和内存情况:

相关推荐
wen__xvn41 分钟前
每日一题洛谷P1914 小书童——凯撒密码c++
数据结构·c++·算法
我是哈哈hh1 小时前
【JavaScript进阶】作用域&解构&箭头函数
开发语言·前端·javascript·html
酷酷的阿云1 小时前
Vue3性能优化必杀技:useDebounce+useThrottle+useLazyLoad深度剖析
前端·javascript·vue.js
bin91531 小时前
DeepSeek 助力 Vue 开发:打造丝滑的缩略图列表(Thumbnail List)
前端·javascript·vue.js·ecmascript·deepseek
BUG 劝退师2 小时前
八大经典排序算法
数据结构·算法·排序算法
圣心2 小时前
Ollama 快速入门
开发语言·javascript·人工智能
禾苗种树2 小时前
使用echart的dataZoom的labelFormatter自定义时间范围
前端·javascript·vue.js·echart
m0_748240912 小时前
SpringMVC 请求参数接收
前端·javascript·算法
小林熬夜学编程2 小时前
【MySQL】第八弹---全面解析数据库表的增删改查操作:从创建到检索、排序与分页
linux·开发语言·数据库·mysql·算法
小小小白的编程日记2 小时前
List的基本功能(1)
数据结构·c++·算法·stl·list