前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >醒醒神,爱奇艺笔试真题

醒醒神,爱奇艺笔试真题

作者头像
公众号guangcity
发布2020-09-01 11:15:37
3550
发布2020-09-01 11:15:37
举报
文章被收录于专栏:光城(guangcity)光城(guangcity)

醒醒神,爱奇艺笔试真题

刷题多总结,莫盲目。

1.导语

今天看到leetcode的每日一题,点了进去发现刚好是爱奇艺真题的一个简单版,于是总结出这一篇文章。

总共两道题,第一道每日一题的题目,第二道爱奇艺笔试真题。

657. 机器人能否返回原点

https://leetcode-cn.com/problems/robot-return-to-origin

1496. 判断路径是否相交

https://leetcode-cn.com/problems/path-crossing/

2.机器人能否返回原点

能否回原点,只需要方向移动后是否还是原来位置即可,所以移动方向模拟即可。

代码语言:javascript
复制
class Solution {
public:
    bool judgeCircle(string moves) {
      int x = 0, y = 0;
      for (auto& m : moves) {
        if (m == 'R') x++;
        else if (m == 'L') x--;
        else if (m == 'U') y++;
        else if (m == 'D') y--;
      }
      return x==0 && y==0;
    }
};

3.判断路径是否相交

这道题比前面难一点点,相交不就是前面那道题回到“原点”,所有只需要记录每个点坐标是否重复出现即可。

代码语言:javascript
复制
#include <string>
#include <iostream>
#include <map>
using namespace std;
class Solution {
public:
    bool isPathCrossing(string path) {
      map<pair<int,int>, int> um; // 坐标:出现次数
      int x = 0, y = 0;
      um[{x,y}]++;
      for (auto& c : path) {
        if (c == 'W') x--;
        else if (c == 'E') x++;
        else if (c == 'N') y++;
        else if (c == 'S') y--;
        if (um.count({x,y}) > 0) return true;
        um[{x,y}]++;
      }
      return false;
    }
};

总结:刷题多总结,莫盲目。

期待您的留言,我们一起探讨算法之美。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 光城 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 醒醒神,爱奇艺笔试真题
    • 1.导语
      • 2.机器人能否返回原点
        • 3.判断路径是否相交
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档