- 博客(17)
- 收藏
- 关注
原创 华为机式 攻城战 javascript
思路:背包问题,与01背包不同的是,关于dp[i][j]点的最优解,应该是Math.max(dp[i][j-b*k]+a*k)一支攻城部队,有若干种大炮各座,以及数量有限的火药,每种大炮的威力不尽相同,且在每次开火之前都需要一定时间填充火药,请你帮助指挥官在给定的时间结束之前或者火药存量耗尽之前给予城池最大的打击。火药剩余量不小于大炮的消耗量,该大炮才能开火;其中k值最大为i大炮能够发射的最多次次数。填充火药之外的时间忽略不计;大炮每次开火的威力一样;不同种大炮可以同时开火。
2023-04-10 11:33:05
190
原创 华为机考 创建二叉树 javascript
输入[[0,0],[0,0],[1,1][1,0],[0,0]] 输出[ -1, 0, 1, 3, null, 2 ]height、index 均从0开始计数;index 指所在层的创建顺序。1、先创建值为-1的根结点,根节点在第0层;若node 无「左子节点」。思路:借用map,创建aoa。
2023-04-10 01:17:47
280
原创 华为机试 密码破译 javascript
已知数字密码是升序的,该字母是由数字密码中的每个数字转换成对应的英文(即1对应“one”,2对应“two”等等),思路:我想不出来还有什么更好的方法了,只能暴力破,把单词中含有独特字母的挑出来,一个个判断下去。再将英文随机转换为大写并打乱得到的,请问原来的数字密码是多少?小红得到一连串杂乱的字母,她知道这里面藏着一串数字密码。
2023-04-06 22:45:53
259
原创 华为机考 带传送阵的游离矩阵 javascript
把传入的数组转aoa,通过遍历,计算左上角到每个点需要经过的最短时间,以及右下角到每个点经过的最短时间。期间把左上到右下,右下到坐上同一个数字经过的最短时间存储到map中,后续将这两个人map相同属性的值进行相加,取出其中最小的值,即为最短时间。另外,你最多可以使用一次传送阵(只能从一个数跳到另外一个相同的树),你可以上下左右行走,代价是前后两个位置元素值差的绝对值。n 行 m 列的矩阵,每个位置上有一个元素。求从走上角走到右下角最少需要多少时间。
2023-04-06 21:47:37
193
原创 华为机试 幻方修复 javascript
既然是交换元素,那么正常每行/每列的值之和是能求出来的,将获得的数组按照行形式和列形式转化成aoa,分别对两个数组进行遍历,如果每个元素内元素之和不等于默认行/列和大小,则将此行/列的下标和大小信息存储到row和column中。然后判断row和column数组中的数据情况,有三种:如果行有两个信息,列无信息,则计算这两行和差值的一半gap,同时遍历每两个对应的行元素,如果这两个元素相减值等于gap,则说明这两元素即为被交换的元素;输出两行,代表两条纠正信息,注意先输出行号小的,若行号相同则先输出列好小的。
2023-04-05 20:46:18
166
原创 华为机考 直角三角形个数 javascript
我使用的是暴力解法。把获取到的数组平方后进行从小到大排序,对数组进行遍历,如果说前边两个数相加的和比后边的数小,则退出本次筛选,如果相等,则从数组中将这三个数删除,重新迭代循环。现要求你计算这N条线段最多可以组合成几个直角三角形。每条线段只能使用一次,每个三角形包含三条线段。有N条线段,长度分别为a[1]-a[n]。
2023-04-04 23:44:38
237
原创 华为机考 银行插队 javascript
思路:将传入的数据存储为数组,对数组进行遍历,判断,如果元素不为p,则再将元素进行split拆分,将客户编号存储到对应优先级从高到低的五个数组中(aoa),如果元素为p,则将存储的数组按优先级别shit导出。某银行将客户分为了若干个优先级,1 级最高, 5 级最低,当你需要在银行办理业务时,优先级高的人随时可以插队到优先级低的人的前面。输出包含若干行,对于每个 p , 输出一行,仅包含一个正整数 num , 表示办理业务的客户编号。如果同时有多位优先级相同且最高的客户,则按照先来后到的顺序办理。
2023-04-04 23:11:30
106
原创 华为机式 单词倒序 js
思路:通过split把拿到的字符串拆分成数组,对数组中的每个元素进行循环遍历,如果不是符号,就将此字符存到一个暂缓区数组中,如果是符号,则把暂缓区推到新创建的空数组中,然后把暂缓区清空,然后把该符号也推送到新数组中。遍历结束后,将新数组的每一项进行reverse翻转,再通过join把数组的字符给连接起来。输入单行英文句子,里面包含英文字母,空格以及, .?请将句子内每个单词进行倒序,并输出倒序后的语句。输入字符串S,S的长度1
2023-04-04 21:53:26
104
原创 华为机试算法 回文字符串 js
创建对象map存储键值对,对对象的属性进行字典序的排序,新建空数组存储回文字符,第一遍正序循环map,获取到第一个奇数个数的字符,存储至数组中间;第二遍倒序循环map,对每个属性出现的次数进行对2取商,分别利用数组的unshift和pop存储字符,最后将数组join返回回文字符串。给你一个仅包含大小写字母的字符串,请用这些字母构造出一个最长的回文串,若有多个最长的,返回其中字典序最小的回文串。leVel是一个「回文串」,因为它的正读和反读都是leVel;字符串中的每个位置的字母最多备用一次,也可以不用。
2023-04-04 21:17:27
111
原创 华为机考称砝码算法,javascript代码
第三行:x1 x2 x3 …. xn — 每种砝码对应的数量(范围[1,10])借用set能够自动去重的特性,对每种砝码进行遍历,往set中层层叠加砝码的重量。第二行:m1 m2 m3 …mn — 每种砝码的重量(范围[1,2000])现在要用这些砝码去称物体的重量(放在同一侧),问能称出多少种不同的重量。现有n种砝码,重量互不相等,分别为 m1,m2,m3…每种砝码对应的数量为 x1,x2,x3…第一行:n — 砝码的种数(范围[1,10])
2023-04-04 19:14:05
175
原创 使用vuex时报错Property or method “$store“ is not defined on the instance but referenced during render.
版本@4.x.x只支持在vue3中使用,vue2项目中需要用到@3。除却基本的语法问题,检查下是不是vuex版本问题,
2023-03-01 11:03:25
242
原创 对于vue项目中报Disallow self-closing on HTML void elements格式错误时的解决方案
该错误为eslint自身所带规则,即虽然双标签和自闭合的单标签在项目中都是有效的,但是严格意义来说,在HTML的书写规范中是不支持的。找到.eslint.js文件,在rules规则中加入如下代码,来阻止报错。
2022-12-12 16:36:58
3354
原创 Vue 子传父,props变量值类型为对象,可以不用$emit方法
对象的引用,引用的是地址,因此父子组件中的index是同一个对象,子组件修改数据便不存在父子组件数据冲突的隐患;反之,如果是普通的字符串,数值型变量,变量的引用/传递等同于开辟了一个新的空间,因此改变内容后会出现两者数据的冲突
2022-11-18 18:44:07
634
空空如也
javascript中箭头函数的this指向问题
2023-04-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人