LeetCode 874 题解
874. Walking Robot Simulation
题目大意:二维空间,从原点出发 ,4个方向,走, 路上有障碍,有障碍的地方不能走。
解题思路:模拟
#define mp make_pair/*
0north 1east 2south 3west
*/
int dx[]={0,1,0,-1};
int dy[]={1,0,-1,0};class Solution {
public:int robotSim(vector<int>& commands, vector<vector<int>>& obstacles) {int n = commands.size();int x=0,y=0,f=0;map<pair<int,int>,int> p;for(int i=0;i<obstacles.size();i++){int tx = obstacles[i][0];int ty = obstacles[i][1];p[mp(tx,ty)] = 1;}int res = 0;for(int i=0;i<n;i++){if(commands[i]==-1){f = (f+1) %4 ;}else if(commands[i]==-2){f= (f+3) %4 ;}else{int d = commands[i];while(d){x = x+dx[f];y = y+dy[f];d--;if(p[mp(x,y)]==1){x = x-dx[f];y = y-dy[f];break;}}res = max(res, x*x + y*y);}}return res;}
};
LeetCode 874 题解相关推荐
- LeetCode/LintCode 题解丨一周爆刷字符串:URL 编码
描述 给出一个代表网址 host 的字符串 base_url,和代表查询参数的列表 query_params_list,你需要返回带查询参数的完整 URL. 查询参数列表由一些包含两个元素的数组组成, ...
- LeetCode/LintCode 题解丨一周爆刷双指针:最小范围
描述 有k个升序排列的数组,寻找一个最小范围,使每个数组中至少有一个元素被包含. 范围[a,b]比范围[c,d]小,当且仅当b-a < d-c,或是a < c且b-a == d-c. 给定 ...
- LeetCode/LintCode 题解丨一周爆刷字符串:简化路径
描述 给定一个文件的绝对路径(Unix-style),请进行路径简化. Unix中, . 表示当前目录, - 表示父目录. 结果必须以 / 开头,并且两个目录名之间有且只有一个 /.最后一个目录名(如 ...
- LeetCode/LintCode 题解丨一周爆刷字符串:神奇字符串
描述 一个神奇字符串S仅包含'1'和'2',并遵守以下规则: 字符串S是神奇的,因为连接字符'1'和'2'的连续出现次数会产生字符串S本身. 字符串S的前几个元素如下:S = "122112 ...
- LeetCode/LintCode 题解丨一周爆刷双指针:神奇字符串
描述 一个神奇字符串S仅包含'1'和'2',并遵守以下规则: 字符串S是神奇的,因为连接字符'1'和'2'的连续出现次数会产生字符串S本身. 字符串S的前几个元素如下:S = "122112 ...
- LeetCode/LintCode 题解丨一周爆刷字符串:乱序字符串
描述 给出一个字符串数组S,找到其中所有的乱序字符串(Anagram). 如果一个字符串是乱序字符串,那么他存在一个字母集合相同. 但顺序不同的字符串也在S中. 所有的字符串都只包含小写字母. 点击查 ...
- LeetCode/LintCode 题解丨一周爆刷字符串:旋转字符数组
描述 给定一个字符数组 s 和一个偏移量,根据偏移量原地旋转字符数组(从左向右旋转). offset >= 0 s 的长度 >= 0 原地旋转意味着需要在函数中更改字符数组 s.你不需要返 ...
- LeetCode/LintCode 题解丨一周爆刷双指针: 两数之和
描述 给一个整数数组,找到两个数使得他们的和等于一个给定的数 target. 你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标.注意这里下标的范围是 0 到 n-1. ...
- LeetCode/LintCode 题解丨一周爆刷分治法:合并两棵二叉树
描述 给出两棵二叉树,当你用其中一棵覆盖另一棵时,两棵树的一些节点会发生重叠,而其他节点则不会重叠. 您需要将它们合并到一棵新的二叉树中. 合并的规则是如果两个节点重叠,则将节点值加起来作为合并节点的 ...
最新文章
- JAVA系统和DOMINO通过LDAP集成方
- Nand Flash VS Nor Flash
- GLog 初始化说明
- Servlet和JSP之间的区别
- 获得当前字符串的宽度
- 如何控制Yahoo! Slurp蜘蛛的抓取频度_国外博客资源站_百度空间
- project不显示里程碑标志_在Project中设置里程碑
- Android EditText的常用技巧
- 结构体构造函数_Go 语言的数据结构 :栈与队列
- numpy - np.reshape:将二维数组转变三维数组
- 不加群提取群成员深度体会,少走点儿弯路吧
- H5打开APP或小程序
- 诺基亚 8208支持java么_诺基亚8_诺基亚8208怎么上网_8208 诺基亚
- 空间中异面直线距离的计算
- visio绘制立方体
- 引入ant组件分页时显示英文问题
- hec-ras的geometric Data对话框中如何加载GIS背景图层
- 『统计学』常用的数据分析方法都在这了!Part.2
- 【第93期】谁是元宇宙的“基础设施”?
- 车载基础软件——基础软件验证平台
热门文章
- CPU发展史(cpu发展史图)
- ディアドラ / 魔剑
- 多维度分析对比腾讯云服务器和阿里云服务器
- 国产动漫独角兽若森短时间恐仍难曲线超车日美动漫
- 什么是 WhatsApp云控 WhatsApp群发,WhatsApp协议,他们有什么区别?
- matlab特征匹配,MATLAB图像处理-特征提取-形状特征 方法小结
- 专访许荣耀:CRMEB开源会员管理电商营销系统作者
- python爬取客流数据_【python爬取雅虎财经数据】“五一”和广交会客流叠加 广州出入境客流呈“双高峰”...
- 聊天室---------数据库、部署服务器篇
- 物联网跨平台应用开发