当前位置:网站首页>Judging whether paths intersect or not by leetcode
Judging whether paths intersect or not by leetcode
2020-11-07 21:43:00 【go4it】
order
This article mainly records leetcode Whether the paths intersect
subject
Give you a string path, among path[i] The value of can be 'N'、'S'、'E' perhaps 'W', To the north 、 Southward 、 To the east 、 Move one unit West .
The robot starts from the origin on the two-dimensional plane (0, 0) Starting from , Press path The path indicated to walk .
If paths intersect at any point , That is to go to the position that has been passed before , Please return True ; otherwise , return False .
source : Power button (LeetCode)
link :https://leetcode-cn.com/problems/path-crossing
Copyright belongs to the network . For commercial reprint, please contact the official authority , Non-commercial reprint please indicate the source .
Answer key
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;
}
}
Summary
Here to maintain the past point , Then traverse path The characters of , Yes x,y The coordinates move accordingly , After each move, judge whether the point has passed , Walk past and return true, If not, record the change points in the past points , After traversing, it will return if it does not meet the conditions false.
doc
版权声明
本文为[go4it]所创,转载请带上原文链接,感谢
边栏推荐
- 凯撒密码实现
- When tidb and Flink are combined: efficient and easy to use real-time data warehouse
- Problems of Android 9.0/p WebView multi process usage
- High concurrency in ngnix cluster
- laravel8更新之维护模式改进
- Improvement of maintenance mode of laravel8 update
- 【C++学习笔记】C++ 标准库 std::thread 的简单使用,一文搞定还不简单?
- Adobe Prelude /Pl 2020软件安装包(附安装教程)
- 获取树形菜单列表
- Web Security (3) -- CSRF attack
猜你喜欢

WPF personal summary on drawing

More than 50 object detection datasets from different industries

use Xunit.DependencyInjection Transformation test project

Deep into web workers (1)

Insight -- the application of sanet in arbitrary style transfer

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

Insight -- the application of sanet in arbitrary style transfer

什么都2020了,LINQ查询你还在用表达式树

How to learn technology efficiently

年薪90万程序员不如月入3800公务员?安稳与高收入,到底如何选择?
随机推荐
use Xunit.DependencyInjection Transformation test project
How did I lose control of the team?
CPP (1) installation of cmake
看一遍就理解,图解单链表反转
IDEA-项目未自动生成 .iml 文件
编程界大佬教你:一行Python代码能做出哪些神奇的事情?
Supervisor process management installation and use
Implementation of Caesar cipher
Web安全(四)---XSS攻击
When tidb and Flink are combined: efficient and easy to use real-time data warehouse
Go sending pin and email
使用 Xunit.DependencyInjection 改造测试项目
一次公交卡被“盗刷”事件带来的思考
Cpp(四) Boost安装及基本使用 for Mac
状态压缩:对动态规划进行降维打击
C++在C的基础上改进了哪些细节
Hand tearing algorithm - handwritten singleton mode
Adobe Lightroom / LR 2021 software installation package (with installation tutorial)
洞察——风格注意力网络(SANet)在任意风格迁移中的应用
Web Security (1) -- browser homology strategy