- 博客(16)
- 收藏
- 关注
原创 【面试手撕】洗牌算法
解题思路: 每次从原始数组中随机选取一个元素,可以理解为每次取出元素的索引值是数组所有索引值的一个随机值, 所以不难得出取出的索引值为Math.floor(Math.random()*array.length);然后每次取出一个元素后,都要将其从原始数组里移除,数组长度就会减一。这两天面试遇到的一道面试题。
2023-08-17 21:04:01
195
1
原创 diff算法详解
diff算法是一种通过同层的树节点进行比较的高效算法,它的目的就是找出新旧不同虚拟DOM之间的差异,使得能够最小化地更新视图,所以diff算法本质上就是比较两个js对象的差异。
2023-07-30 17:59:00
1066
1
原创 前端面试题:js数组方法以及哪些会改变原数组
sort 的默认排序是将元素转化为字符串后排序的,所以有时直接使用sort() 排序结果可能不是我们想要的,想要获得正确的排序结果,我们可以传入一个函数,来规定排序的规则。(1)删除功能:两个参数,第一个参数为要删除的第一项的位置,第二个参数为要删除的项数。(3)替换功能:三个参数,插入起始位置、要删除的项数(不为0)和 要替换的任意数量项。(2)插入功能:三个参数: 插入起始位置、0(要删除的项数)和 要插入的任意数量项。作用:从数组中删除第一个元素(首部删除),并返回该元素的值。
2023-07-06 01:07:53
243
1
原创 LeetCode 79: 打家劫舍II <动态规划>
跟打家劫舍I差不多,只是没偷第一家就可以偷最后一家, 偷了就不能偷最后一家,得取两种情况的最大值。
2023-06-30 21:27:31
136
原创 面试常考算法题:牛客TOP101_BM86_大数加法
首先考虑到输入的两个字符串的长度可能不一样, 所以先通过补0的操作让两个字符串长度一样,计算时需要考虑到进位值,两字符串里对应数字相加所得结果可以分为两部分,一部分为进位值,一部分为除进位后的结果值。
2023-06-24 15:44:08
219
1
原创 LeetCode 198: 打家劫舍 <动态规划>
首先定义dp数组 并理清dp数组的含义:dp[i] 表示偷到第i家(包括第i家)能偷的最多偷窃金额状态转移方程的确定:对于每一家,其实只有偷与不偷两种情况,所以偷到这家时能获得的最多偷窃金额就是在这两种情况下所能获得的最大值。①偷的话,那上一家肯定是不能偷的,所以这种情况下所能获得的金额为dp[i-2] + nums[i].②不偷的话,这种情况下所能获得的金额为就跟偷到上一家获得的金额一样的,为dp[i-1]所以状态转移方程为:
2023-06-21 15:35:37
125
原创 【面试题】Vue 路由传递参数相关面试题
如果配置路由的时候,占位了(params参数),但是路由跳转的时候没有传递,路径就会出现问题。形如http://localhost:8080/#/?路由跳转传参的时候,对象的写法可以是name、path形式,但是需要注意的是,path这种写法是不能与params参数一起使用的。那如何指定params参数可传可不传?可以在配置路由的时候,在占位的后面加上一个问号。使用undefined解决:params参数可以传递、不传递(空的字符串)方法一:布尔值写法,只能传递params参数。可以的,有三种写法。
2023-06-10 14:44:39
235
原创 什么是虚拟DOM?
虚拟DOM(Virtual DOM)就是普通的js对象,是一个用来描述真实dom结构的js对象,并且最少包含标签名、属性和子元素对象三个属性,不同框架对这三个属性的命名可能会有差别。虚拟DOM是相对于浏览器所渲染出来的真实DOM而言的,创建虚拟DOM就是为了更好地将虚拟的节点渲染到页面视图中,所以虚拟DOM对象的节点与真实DOM的属性一一对应。
2023-06-07 00:12:54
890
1
原创 vue3中的ref函数、reactive函数以及shallowReactive 函数和 shallowRef函数
shallowRef:只处理基本数据类型的响应式, 不进行对象的响应式处理。shallowReactive:只处理对象最外层属性的响应式(浅响应式)。语法:const xxx = ref(initValue)可以用来定义对象(或数组)类型数据,它内部会自动通过。定义对象(或数组)类型数据时,它不会通过。作用:定义一个响应式的数据。
2023-05-26 00:14:22
350
1
原创 解决在vscode里js代码报ts的语法错误
File -> Preferences -> settings里搜索validate, 去掉下面这个 √ 就好了。明明写的代码没问题,可是就是有红色波浪线,并且提示错误如下。
2023-05-05 21:08:22
1411
3
原创 Vue 路由元信息的使用例子(实现Footer组件在不同页面的显示和隐藏)
然后在使用Footer组件时使用v-show来控制它显示与否, 当$route.meta,show为true时才显示,否则就是隐藏的。我们可以根据组件上的$route获取当前路由的信息,通过路由来判断Footer组件的显示和隐藏。功能效果:在首页和搜索展示页显示Footer组件,在登录、注册页不显示Footer组件。配置路由的时候,可以给路由添加路由元信息【meta】,路由需要配置对象。首先定义路由的时候可以配置meta字段。
2022-10-08 15:16:46
966
1
原创 ES6之let 和 const详解
let关键字就是用来声明变量的,在一个大括号中,使用let关键字声明的变量才具有块级作用域,var关键字是不具备这个特点的。使用let关键字还有个好处是可以防止循环变量变成全局变量。使用let关键字声明的变量只能先声明再使用,即不存在变量提升。使用let关键字声明的变量具有暂时性死区特性,即在块级作用域内使用let声明的变量会被整体绑定在这个块级区域,不再受外部代码影响。如下代码if外面有个tmp变量,但和if块内的tmp变量是毫无关系的,所以在If 大括号内,在变量声明的前面使用变量会报变量没有定义
2022-07-12 23:41:31
320
原创 前端Vue Element UI 编辑表格选中行的值 #default=“scope” 传值
实现功能:点击表格中的编辑按钮,弹出弹框修改该行数据信息,效果图如下: 前端: 后端:
2022-07-09 23:54:42
1673
原创 AttributeError: module ‘tensorflow‘ has no attribute ‘Session‘的解决方法
将 tf.session 改为 tf.compat.v1.Session()改之前代码为:改之后代码为:
2022-05-21 15:59:35
324
原创 Tensorflow出现”The Session graph is empty. Add operations to the graph before calling run()“的解决方法
在代码最前面加上tf.compat.v1.disable_eager_execution() 就解决了
2022-05-21 15:47:42
1128
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人