Voyz's Studio.

LeetCode算法笔记--猜数字

字数统计: 453阅读时长: 2 min
2020/09/19 Share

LeetCode算法笔记–Day11

LCP 01. 猜数字

题目:

小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次?。

我的解答:
1
2
3
4
5
6
7
8
9
10
11
12
/**
* @param {number[]} guess
* @param {number[]} answer
* @return {number}
*/
var game = function(guess, answer) {
let count = 0;
for(let i=0;i<guess.length;i++){
if(guess[i] === answer[i]) count += 1;
}
return count;
};

LCP 03. 机器人大冒险

题目:

力扣团队买了一个可编程机器人,机器人初始位置在原点(0, 0)。小伙伴事先给机器人输入一串指令command,机器人就会无限循环这条指令的步骤进行移动。指令有两种:

U: 向y轴正方向移动一格。
R: 向x轴正方向移动一格。
不幸的是,在 xy 平面上还有一些障碍物,他们的坐标用obstacles表示。机器人一旦碰到障碍物就会被损毁。

给定终点坐标(x, y),返回机器人能否完好地到达终点。如果能,返回true;否则返回false

示例1:
输入: command = “URR”, obstacles = [], x = 3, y = 2
输出: true

我的解答:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
* @param {string} command
* @param {number[][]} obstacles
* @param {number} x
* @param {number} y
* @return {boolean}
*/
var robot = function(command, obstacles, x, y) {
let _command = [];
let _x=0,_y=0;
let _pointer = 0;
// _command
for(let i=0;i<x+y;i++){
_command.push(command.split("")[(i%command.length)])
}
for(let j=0;j<_command.length;j++){
// step
if(_command[j] == 'R') _x+=1;
if(_command[j] == 'U') _y+=1;
// obstacles

if(obstacles.length>0){
for(let k=0;k<obstacles.length;k++){
if(obstacles[k][0] == _x && obstacles[k][1] == _y){
return false
}
}
}

}
// judge
if(_x == x && _y == y) return true;
return false;
};
CATALOG
  1. 1. LeetCode算法笔记–Day11
  2. 2. LCP 01. 猜数字
    1. 2.0.0.0.1. 题目:
    2. 2.0.0.0.2. 我的解答:
  • 3. LCP 03. 机器人大冒险
    1. 3.0.0.0.1. 题目:
    2. 3.0.0.0.2. 我的解答: