ARTS Week 20

Algorithm 本周的算法题为 1222. 可以攻击国王的皇后 在一个 下标从 0 开始 的 8 x 8 棋盘上,可能有多个黑皇后和一个白国王。 给你一个二维整数数组 queens,其中 queens[i] = [xQueeni, yQueeni] 表示第 i 个黑皇后在棋盘上的位置。还给你一个长度为 2 的整数数组 king,其中 king = [xKing, yKing] 表示白国王的位置。 返回 能够直接攻击国王的黑皇后的坐标。你可以以 任何顺序 返回答案。 示例 1: 输入:queens = [[0,1],[1,0],[4,0],[0,4],[3,3],[2,4]], king = [0,0] 输出:[[0,1],[1,0],[3,3]] 解释:上面的图示显示了三个可以直接攻击国王的皇后和三个不能攻击国王的皇后(用红色虚线标记)。 实现代码如下: var queensAttacktheKing = function(queens, king) { // 初始化棋盘 const board = Array.from({ length: 8 }, () => Array.from({ length: 8 }, () => null)); // 将皇后的位置标记在棋盘上 queens.forEach((queen) => { board[queen[0]][queen[1]] = 'Q'; }); const res = []; // 顺时针方向遍历棋盘 const directions = [ [-1, 0], [-1, 1], [0, 1], [1, 1], [1, 0], [1, -1], [0, -1], [-1, -1] ]; for (const element of directions) { const [dx, dy] = element; let x = king[0] + dx; let y = king[1] + dy; while (x >= 0 && x < 8 && y >= 0 && y < 8) { if (board[x][y] === 'Q') { res.push([x, y]); break; } x += dx; y += dy; } } return res; }; 解题思路: ...

2024-03-09 · 2 分钟 · 214 字

2024-03-08 运动记录

饮食 早餐: 青菜粥、青菜、鸡蛋 午餐: 公司食堂 晚餐: 猪红韭菜 无氧 无 有氧 总结 本来打算说好好整理《程序员职业规划手册》课程笔记的,然后这次就不去健身房爬坡了吧,这个念头一起我就知道,又开始找借口了。其实哪怕真不去,也不见得能全身心投入到课程笔记,总有这啊那啊的事情影响,所以不要找借口,千万不要中了自己的圈套,老老实实按自己计划落实就好,不要犹豫哪怕一秒钟。

2024-03-08 · 1 分钟 · 12 字

2024-03-07 运动记录

饮食 早餐: 八宝粥、青菜、鸡蛋 午餐: 公司食堂 晚餐: 酸菜炒猪大肠 无氧 无 有氧 总结 晚上还是吃得太多,导致这些天体重一直没有什么变化。 睡得还是太晚,我倒要看看什么时候能改正了。 想明白你想要什么,无关紧要的事物,全都清空,珍惜每一分每一秒,做好当下重要的事情。

2024-03-07 · 1 分钟 · 14 字

2024-03-06 运动记录

饮食 早餐: 炒河粉、青菜、鸡蛋 午餐: 公司食堂 晚餐: 鸡蛋炒肉 无氧 无 有氧 总结 每次在健身房跑步机上爬坡,看当天NBA比赛,时间就过得很快。后面可以考虑怎么把一个小时的时间充分利用起来。

2024-03-06 · 1 分钟 · 12 字

2024-03-05 运动记录

饮食 早餐: 炒河粉、青菜、鸡蛋 午餐: 公司食堂 晚餐: 油豆腐炒肉 无氧 无 有氧 总结 只要运动,整个人精神面貌以及心态都会变得特别积极。 调整饮食结构,当前吃的减半。

2024-03-05 · 1 分钟 · 13 字