当前位置:网站首页>leetcode之判断路径是否相交
leetcode之判断路径是否相交
2020-11-07 21:43:00 【go4it】
序
本文主要记录一下leetcode之判断路径是否相交
题目
给你一个字符串 path,其中 path[i] 的值可以是 'N'、'S'、'E' 或者 'W',分别表示向北、向南、向东、向西移动一个单位。
机器人从二维平面上的原点 (0, 0) 处开始出发,按 path 所指示的路径行走。
如果路径在任何位置上出现相交的情况,也就是走到之前已经走过的位置,请返回 True ;否则,返回 False 。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/path-crossing
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题解
class Solution {
public boolean isPathCrossing(String path) {
int x = 0;
int y = 0;
Set<String> pathSet = new HashSet<String>();
pathSet.add("00");
for (char c : path.toCharArray()) {
if (c == 'N') {
y++;
} else if (c == 'S') {
y--;
} else if (c == 'W') {
x--;
} else if (c == 'E') {
x++;
}
String p = String.valueOf(x) + String.valueOf(y);
if (pathSet.contains(p)) {
return true;
}
pathSet.add(p);
}
return false;
}
}
小结
这里维护走过的点,然后遍历path的字符,对x,y坐标进行相应移动,每次移动之后都判断下该点是否走过,走过则返回true,没有则将改点记录到走过的的点中,遍历完都没有符合条件就返回false。
doc
版权声明
本文为[go4it]所创,转载请带上原文链接,感谢
https://my.oschina.net/go4it/blog/4707740
边栏推荐
- 一万四千字分布式事务原理解析,全部掌握你还怕面试被问?
- How did I lose control of the team?
- More than 50 object detection datasets from different industries
- Deep into web workers (1)
- 面部识别:攻击类型和反欺骗技术
- Face recognition: attack types and anti spoofing techniques
- supervisor和Python多进程multiprocessing使用 子进程残留问题
- 你可能不知道的Animation动画技巧与细节
- 14000 word distributed transaction principle analysis, master all of them, are you afraid of being asked in the interview?
- android基础-RadioButton(单选按钮)
猜你喜欢

爆一个VS2015 Update1更新带来的编译BUG【已有解决方案】

Improvement of maintenance mode of laravel8 update

Don't treat exceptions as business logic, which you can't afford

Get tree menu list

【C++学习笔记】C++ 标准库 std::thread 的简单使用,一文搞定还不简单?

使用 Xunit.DependencyInjection 改造测试项目

你可能不知道的Animation动画技巧与细节

The emergence and significance of micro service

来自不同行业领域的50多个对象检测数据集

Lay UI left tree Dtree right list table
随机推荐
虚拟DOM中给同一层级的元素设置固定且唯一的key为什么能提高性能
【原创】ARM平台内存和cache对xenomai实时性的影响
supervisor进程管理安装使用
How Facebook open source framework simplifies pytorch experiment
爆一个VS2015 Update1更新带来的编译BUG【已有解决方案】
统计文本中字母的频次(不区分大小写)
About the promotion of the whole stack of engineers, from the introduction to give up the secret arts, do not click in to have a look?
构造请求日志分析系统
Supervisor process management installation and use
来自不同行业领域的50多个对象检测数据集
【解决方案】分布式定时任务解决方案
Stack bracket matching
云计算之路-出海记:整一台 aws 免费云服务器
AFO记
尾-递
Jingtao project day09
密码学-尚硅谷
Improvement of maintenance mode of laravel8 update
Adobe Prelude / PL 2020 software installation package (with installation tutorial)
websocket+probuf.原理篇