撕题专题

前端面试手撕题收集(自用)

对象深拷贝 function deepClone(source, clonedMap = new Map()) {if (typeof source !== object || source === null) {return source; // 如果是基本类型,直接返回值,不需要深拷贝}// 如果这个对象已经被拷贝过,则直接跳过if (cloneMap.has(source)) {retu

JS笔试手撕题

数据劫持 Vue2的Object.defineProperty() Vue2的响应式是通过Object.defineProperty()拦截数据,将数据转换成getter/setter的形式,在访问数据的时候调用getter函数,在修改数据的时候调用setter函数。然后利用发布-订阅模式,在数据变动时触发依赖,也即发布更新给订阅者,订阅者收到消息后进行相应的处理 描述符分为数据描述符和存取

[算法][动态规划][腾讯面试手撕题]抛硬币问题

① 题目描述 有一些不规则的硬币。在这些硬币中, p i − 1 p_{i-1} pi−1​表示第 i i i枚硬币正面朝上的概率( i i i从1起)。 请对每一枚硬币抛掷一次,然后返回正面朝上的硬币数等于 t a r g e t target target的概率。 ② 问题求解 误区:这题容易被排列组合的想法先入为主,其实这是一个动态规划的问题。 1 动态方程 记 d p [ i ]