
获得徽章 0
- 688.Knight_Probability_In_Chessboard【Medium】
题解:github.com
思路:
题目问的是,骑士从给定起点 (x,y) 出发,走 K 步后还留在棋盘上的可能性是多少。
我们转一下思维,这个问题其实也可以这样问:骑士从棋盘的任一格子出发,走 K 步后刚好停在给定起点 (x,y) 上的可能性是多少。
我们需要动态规划来解决这道题。
假如骑士第 K 步刚好能走到 (x,y),我们用 F(x,y)(K) 来表示这个可能性。
如果我们能知道第 K-1 步骑士走到哪里,那我们是不是就可以算出 F(x,y)(K)。
按规则,骑士在棋盘上的每一个格子都可以往 8 个方向去走 (x+1,y+2), (x+2,y+1), (x+2,y-1), (x+1,y-2), (x-1,y-2), (x-2,y-1), (x-2,y+1), (x-1,y+2),同样地,如果骑士第 K 步要走到 (x,y) 格子,那在第 K-1 步骑士就只可能在这 8 个格子中的其中一个。
那我们只需要算出第 K-1 骑士走到这 8 个格子的可能性除以 8,(F(x+1,y+2)(K-1) + ... + F(x-1,y+2)(K-1)) / 8,就是 F(x,y)(K) 的值了,除以 8 是因为,骑士在第 K-1 步走到这 8 个格子之一的时候,他同样有 8 个选择去走下一步,走到 (x,y) 只是其中一个选择,所以要除以 8。
对于那些棋盘外的格子,忽略掉或者把可能性设为 0 即可。展开评论点赞 - 评论点赞
- #每日面试题
[JS] [].__proto__.__proto__ === ({}).__proto__ 的结果并解释为什么?
结果是 true。 [].__proto__ 指向 Array.prototype,而 Array 的原型对象本身也是一个对象,所以它的 __proto__ 指针会指向 Object.prototype,所以 [].__proto__.__proto__ 最终指向 Object.prototype。
({}).__proto__ ,一个普通对象的 __proto__ 属性当然会指向 Object 的原型对象 Object.prototype。
[HTML] <input type="file"> 上传图片如何默认触发照相机功能?
使用 capture 属性,capture 的值可以是:
1. camera 打开摄像头
2. user 打开前置摄像头
3. environment 打开后置摄像头
但以上几个属性都不能保证设备会按照设置的一样打开前置或后置摄像头,如果设备不支持某种行为的话,它会使用默认的调用摄像头的行为。
capture 的其他值:
4. camcorder 打开录像
5. microphone 打开录音机
[CSS] CSS 的加载会阻塞 DOM 树的解析和渲染吗?
- 不会阻塞 DOM 树的解析
- 会阻塞 DOM 树的渲染,因为浏览器得等到 CSS 下载完成并解析成 CSSOM 后才能把它和 DOM 合在一起生成 render tree 渲染页面。展开评论点赞 - 35. Search Insert Position【Easy】
github.com
思路:
方法一:
1. 遍历数组,如果 target 小于等于某个数字,返回该数字下标即可
2. 若数组没有符合条件的数字,将 target 插入数组末端
方法二:
1. 使用二分查找法,最后定位到一个元素上
2. 将 target 与该元素比较后插入其前面或后面展开评论点赞