- 博客(97)
- 收藏
- 关注
原创 前端面试笔试(六)
上一篇是不含重复数字的数组全排列,这篇是有重复数字的数组全排列,要判断得多一点。有重复项数字的全排列(递归回溯,js解法)首先,对输入数组num进行升序排序,这是为了确保生成的排列是按照字典序排列的。used数组是一个布尔数组,用于跟踪哪些元素已经被添加到当前的path中。当path的长度等于输入数组num的长度时,意味着一个完整的排列已经生成首先检查它是否与前一个元素相同,并且前一个元素是否没有被使用过。如果是这种情况,那么跳过当前元素,如果元素未被使用(used[i]为false),则将其添加到p
2024-11-23 19:09:43
637
原创 前端面试笔试(五)
给出一组数字,返回该组数字的所有排列。回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。是一个递归函数,用于生成排列。,这是一个临时数组,用于构建当前的排列。,它是一个数组,包含要生成排列的数字。
2024-11-23 18:12:23
520
原创 前端面试笔试(四)
RADIUS是一种分布式的、客户端/服务器结构的信息交互协议,"100"是一个有效的数字,它等于十进制的4。哈希表有10个元素,采用的hash函数为H(key)=key%10,用线性探查法解决哈希冲突,则(1,3,5,13,4,6)中4应该放在第几号格中?请求分页系统中的外存分为用于存放文件的文件区和用于存放对换页面的对换区,关于文件区和对换区的分配方式,哪个用离散分配,哪个用连续分配?Math.floor,ceil,round delete操作符 call bind this map(parseI)
2024-11-16 17:30:05
1179
原创 前端面试笔试(三)
Promise构造器的prototype上还有两个方法,分别是then和catch,这两个方法的参数也是回调函数,这些函数会在Promise实例进入不同状态后被调用。yield与生成器函数。instanceof与Array.isArray。提高dom元素插入效率。contenteditable 可编辑。promise的resolve,reject,then,catch。
2024-11-16 01:47:03
981
原创 前端面试笔试(二)
HTTP/2 URL中的hostname,pathname,href.url的组成部分和属性。数组去重。对象引用,函数参数传递,对象属性修改。在自定义组件上实现类似原生表单元素的v-model功能使用: value和input,JavaScript内存泄漏,position中绝对定位、相对定位、粘性定位...
2024-11-14 17:18:30
972
原创 前端面试笔试(一)
最近写了很多场前端笔试,今日总结一下。哈希查找是一种通过计算数据元素的存储地址进行查找的方法。直接插入排序。内存保护。promise中throw new Error输出。Promise.all。typeof判断匿名函数的function后的test和test()类型。父盒子设置为flex后,子元素设置哪个属性不会失效?link和@import。
2024-11-14 15:29:33
1052
原创 前端面试题-token的登录流程、JWT
1.客户端用账号密码请求登录2.服务端收到请求,需要去验证账号密码3.验证成功后,服务端发一个token,把这个token发送给客户端4.客户端收到token后保存起来,可以存在cookie或者localstorage5.客户端每次为服务器发送请求资源时,都需要携带这个token6.服务端收到请求,接着去验证客户端的token,验证成功则返回客户端请求的数据。
2024-10-24 22:42:59
818
原创 Microsoft Edge无法启动搜索问题的解决
然后看到网上有篇文章说进入C盘的ProgramFiles(x86)目录下的microsoft目录下的microsoft visual studio目录下的install目录中,双击InstallCleanup.exe,然后就卸载掉了。结果去浏览器搜索的时候想搜一个新教程学习,就发现csdn进不来了,显示连接错误之类的,还要我去诊断网络。然后浏览器搜索解决办法也搜索不了,就在手机上查。试了几个办法,也把C盘的microsoft visual studio文件夹从回收站移出来了,也把电脑重启了,好像都没有用。
2024-06-22 16:16:35
1634
2
原创 数据结构与算法-排序算法4-希尔排序
排序也称为排序算法。排序是将一组数据依据指定的顺序进行排列的过程。希尔排序是希尔于1959年提出的一种排序算法,它也是一种插入排序,是简单那插入排序经过改进之后的一种更高效版本,也称为缩小增量排序。把记录按下标的一定增量分组,(先将其分为数组长度的一半,然后再把一半继续分为一半,依此类推)对每一组使用直接插入排序算法排序,随着增量逐渐变小,每组包含的关键词越来越多,当增量减至1时,整个文件恰好被分为一组,算法便终止。
2024-05-19 00:14:36
1022
1
原创 数据结构与算法-排序算法3-插入排序
数组中n个元素,把这n个待排序元素看成一个有序序列和一个无序序列。开始时有序序列中只有一个元素,无序序列中有n-1个元素。排序过程中每次从无序序列中取出第一个元素,把它与有序序列中元素进行比较,将它插入到有序序列中的适当位置。这样有序序列中就多了一个元素,无序序列中就少了一个元素。直到无序序列中没有元素了,整个数组中元素就排好序了。插入排序是将无序序列中元素一个个插入到有序序列中。
2024-05-15 00:43:37
422
原创 数据结构与算法-排序算法2-选择排序
排序也称为排序算法。排序是将一组数据依据指定的顺序进行排列的过程。数组中n个元素,从数组第一个元素开始到最后一个元素,第一次从arr[0]到arr[n-1]中选取最小值min1,如果min1不等于arr[0],就将min1与arr[0]交换。接着对右边n-1个元素也这样,第二次找到这n-1个元素中的最小值min2,比较min2与arr[1],如果不相等就交换。依此类推记住:选择排序是从左到右找到位置对应的元素。
2024-05-14 18:05:33
760
原创 数据结构与算法-排序算法1-冒泡排序
排序也称为排序算法。排序是将一组数据依据指定的顺序进行排列的过程。内部排序:将需要处理的所有数据都加载到内存中进行排序。外部排序:数据量过大(比如10亿个数据),无法全部加载到内存中,就需要借助外部存储(文件、磁盘等)进行排序。先加载一部分,排序完之后再加载另外一部分进行排序,排序完再合并。数组中n个元素,从数组第一个元素开始到最后一个元素,依次比较相邻元素的值,如果如果左端元素大于右端元素就交换它们的位置,使得较大的元素在右边。这样数组最右端的元素就是数组中的最大元素。
2024-05-13 22:13:00
1321
原创 数据结构与算法-时间复杂度
一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中语句的执行次数称为语句频度或者时间频度,记为T(n)。举例:一般情况下,算法中的基本操作语句的重复执行次数是问题规模n的某个函数,用T(n)表示(就是前面时间频度的那个T(n))。若有某个辅助函数f(n)使得当n趋于无穷大时T(n)/f(n)的极限值为不等于0的常数,就称f(n)是T(n)的同量级函数,记为T(n)=O(f(n)),O(f(n))为算法的渐进时间复杂度,简称为时间复杂度。
2024-05-13 00:53:23
705
原创 数据结构与算法-栈
栈(stack)栈是一个先进后出的有序列表限制线性表中元素的插入和删除只能在线性表的同一端进行。允许插入和删除的一端即变化的一端称为栈顶top,另一端为固定的一端称为栈底bottom。最先放进栈中的元素在栈底,最后放入的元素在栈顶。在删除元素时最先放进的元素最后删除,最后放入的元素最先删除。可以想象,最后放进去的东西在栈最上面,最好拿。最先放进去的东西在栈底,如果栈底的上面还有东西,要拿到栈底的东西就需要先把上面的东西拿开才能拿到栈底的东西,就挺麻烦的,所以最最后拿栈底的东西。
2024-05-05 16:09:36
805
原创 数据结构与算法-单向环形链表与约瑟夫问题(续思路与代码)
上一篇写的单向环形链表与约瑟夫问题简介和举例,这篇写思路和代码。先创建一个节点,有个first变量指向这个节点,这个节点的next也是指向自己。还有个curBoy变量。然后新加一个节点,还有个boy变量。根据用户输入,生成出圈顺序。先设置一个辅助变量helper初始时指向环形链表最后一个节点,小孩报数前先让first和helper移动k-1次也就是移到k所在编号节点。当小孩报数时,first和helper同时移动m-1次(总共移动m下,因为到自己要移动一下,所以除自己之外要移动m-1下)
2024-05-05 01:36:35
1306
原创 数据结构与算法-单向环形链表与约瑟夫问题
单向环形链表,闭合的形成一个环。单向环形链表的一个应用场景是约瑟夫问题。约瑟夫问题为:设编号为1,2,…,n的n个人围坐一圈,约定编号为k(1
2024-05-03 22:46:10
385
原创 数据结构与算法-双向链表
在使用带头节点的单向链表查找时查找的方向只能是一个方向,而双向链表可以向前或向后查找。例如单向链表只能查到一个节点的下一个节点,但是双向链表不仅可以查到下一个节点,还可以查到上一个节点。在删除节点时,单向链表不能自我删除,需要借助辅助节点temp,因为单向链表就能找到下一个节点,把这个节点删了就不能直接找到下一个节点了。而双向链表可以自我删除,反正可以找到前一个节点,也可以找到后一个节点,这个节点自己就可以实现删除自我,让自己上一个节点和下一个节点连起来。
2024-05-03 22:08:25
993
原创 数据结构与算法-单链表面试题
在HeroNode类中写一个方法public static int getLength(HeroNode head)获取节点个数。如果是带头节点就不统计头节点。如果head节点的next为null就返回0.否则定义一个length变量用于计数,定义一个辅助变量current,current=head.next,然后循环中只要current不为null就把length加1,再把current后移。循环结束后返回的length就是节点的个数。
2024-05-01 23:07:17
428
原创 数据结构与算法-单链表
本文包括单链表的添加删除修改链表(Linked List)链表是有序列表,但在内存中存储情况如下比如这里的头指针是150,我们就找到地址为150的这行,即data域是a1,它的next域是110,那么就指向地址为110的这行,它的data域是a2,next域是180,那么就指向地址为180的这行,data域是a3.以此类推。它的每个节点并不是连续存储的。就是地址不是连续的。
2024-05-01 17:49:00
929
原创 数据结构与算法-抽象数据类型ADT系列
以前在学习数据结构的时候做实验,老师要求用来写这些实现代码。不过以前学习的时候使用的编程语言是,里面会用到很多指针。现在编代码过程大多数时候都是用Java。不过思路应该还是可以参考一下的。二叉树:前序、中序、后序遍历。哈夫曼树。图。链表。栈。队列。邻接矩阵。邻接表。
2024-04-29 22:22:54
487
2
原创 数据结构与算法-环形队列
针对简单队列中数组使用一次就不能用,无法复用的问题,将这个数组改成一个环形队列,使得数据取出后这个空间能够再次使用。环形队列常用公式队满: (rear + 1) % maxSize == front队空:rear==front将数据加入队列思路先判断是否队满,没满就QueueArr[rear] = n,因为rear指的是队尾数据的后一个,所以不用先rear+1.然后,赋值之后再将rear指针移位,不过不是直接rear+1,而是(rear+1)%maxSize,环形队列嘛,取模。
2024-04-29 20:11:35
1013
原创 数据结构-简单队列
队列为一个有序列表,可以用数组或链表来实现。先进先出原则。先存入队列的数据先取出,后存进队列的数据后取出。这里对比一下,栈是后来者居上下面使用数组来模拟队列,用数组的结构来存储队列的数据:Queue中两个指针,front为队首,rear为队尾。maxSize是该队列的最大容量。当有数据加进来时,加到队尾,front没有变化,而rear在增加。当数据被取出,从对头取出,rear没有变化,而front在增加。front随数据输出而改变,rear随数据输入而改变。怎么记呢?
2024-04-28 22:44:08
1023
原创 数据结构与算法--稀疏数组
当一个数组中大部分元素为0或者为同一个值时,可以用稀疏数组来保存这个数组。记录数组共有几行几列,有多少个不同的值把具有不同值的元素的行列以及元素的值记录在一个小规模的数组中,从而缩小程序的规模简单点说就是稀疏数组只记录有数据的行和列。
2024-04-28 00:42:37
1020
原创 线性结构与非线性结构简介
线性结构中除了第一个元素和最后一个数据元素之外,其它数据元素是首尾相接。(可能偶然情况下会连续),每个数据相当于一个节点,节点中存放数据元素以及相邻元素的地址信息,通过指针连起来,这样就方便利用零散的内存(这里放一块,那里放一块,元素之间离散存储,反正可以找到它相邻的节点,通过指针彼此相连)。也就是,各个数据元素不再保持在一个线性序列中,每个元素可能与零个或多个其它数据元素发生联系。·集合中存在唯一的“第一个元素”和“最后一个元素”。·除了最后一个元素之外,其它数据元素都有唯一后继。,链式存储的线性表是。
2024-04-27 17:34:20
525
原创 数据结构与算法开篇
的学科,有了编程语言也就有了数据结构。学好数据结构可以编写出更加漂亮更加有效率的代码。3.在实际应用中,选择和设计合适的数据结构和算法是。,高效的程序需要在数据结构的基础上设计和选择算法。1.数据data结构structure是一门。要想学好算法,就要把数据结构学到位。2.要学好数据结构就要多多考虑如何。,而算法的设计依赖于合适的数据结构。优化程序性能和解决问题的关键。静态的描述数据元素之间的关系。数据结构为算法提供基础。解决问题的步骤和方法。
2024-04-27 16:34:06
278
原创 文件上传阿里云OSS准备工作及入门程序(保姆级手把手教你)
使用阿里云作为第三方,来存储文件。文件上传阿里云OSS准备工作及入门程序(保姆级手把手教你)由于我们的项目Accesskey是固定的,那么可以把代码变成工具类,然后要用的时候就调用。再调用ossClient的putObject将这个请求对象传到oss服务器上。我们这里想要上传图片,可以把上面的new的Byte的换成newFileInputStream,然后里面填上图片路径。这里我们的项目是Maven项目,所以选择的是在Maven项目中加入依赖项。就可以复制代码,然后我们去IDEA的pom.xml
2024-04-13 00:32:59
2762
原创 vue3表单参数校验+正则表达式
这里我们要实现注册页在form表单中对表单项添加参数校验。我们的表单中有用户名、密码、电话号码、邮箱这四个项。要求手机号码以 1 开头,第二位为 3 到 9 之间的数字,后面跟着任意 9 个数字,总共是 11 位数字。邮箱正则表达式,要求一个或多个字母、数字或下划线,接着是 @ 符号,然后是一个或多个字母、数字或下划线,接着是一个句点,最后是一个或多个字母、数字或下划线。对页面进行数据绑定。在el-form标签上通过rules属性,绑定校验规则,在el-form-item标签上通过prop属性,指定校验项。
2024-04-04 23:19:00
4293
原创 spring boot后端controller中接收表单参数校验
校验分为两部分,一部分是前端的输入时就校验,一部分时后端接收参数时的校验。本文提到的是后端接收参数时的校验。这个后端校验的存在有什么意义呢?防止不合法的参数对系统造成影响。这里我们会说到正则表达式校验。① 导入validation坐标② 在参数上添加@Pattern注解③ 指定校验规则在Controller类上添加@Validated注解④ 在全局异常处理器中处理参数校验失败的异常希望以上内容能帮助到你^_^加油加油。
2024-04-04 01:28:43
1314
原创 SpringBoot中Bean注册
这样当springboot工程启动后,就先扫描import,然后去找到这个CommonlmportSelector实现类,自动执行selectlmports方法,得到这些类名,把这些类名对应的对象注入到IOC容器中。如果要注册的bean对象来自第三方,不是自定义的,无法用@Component 及衍生注解声明bean的。应该用@Bean和@Import。SpringBoot还提供了设置注册生效条件的注解 @Conditional。
2024-04-02 00:23:45
874
原创 spring boot自动配置原理-怎样回答这个问题
spring boot2.7以前的版本,读取的是spring.factories文件。我们引入了spring-boot-starter-web 起步依赖,我们的spring boot就帮我们自动注入DispatcherServlet。如果面试官问:说一说SpringBoot自动配置原理?我们可以回答:首先,在主启动类上添加了SpringBootApplication注解,这个注解组合了EnableAutoConfiguration注解。
2024-04-02 00:14:52
1080
4
原创 springboot配置文件application.properties,application.yml/application.yaml
Springboot提供的一种属性配置方式:application.properties初始时配置文件中只有一行语句。启动时,比如tomcat的端口号默认8080,路径默认。如果我们要改变端口号及路径之类的可以在application.properties中配置。我们改变端口号为9090,虚拟目录以/start开始。在浏览器输入可以看到结果。注意application.properties中配置以点·分隔。
2024-04-01 00:32:14
1245
原创 SpringBoot3入门
本文用于SpringBoot3入门。可以实现在浏览器地址栏输入显示字符串。创建springboot项目。Jdk版本选17及以上,java选17及以上版本。打包方式选jar。因为当前工程内部已经内嵌了tomcat,就不用另外打包成war包了。在dependences中选web下的springboot web就可以自动引入spring-boot-starter-web起步依赖。
2024-04-01 00:24:02
761
原创 vue3数据库中存头像图片相对路径在前端用prop只能显示路径或无法显示图片只能显示alt中内容的问题的解决
然后我们如果用prop="avatar" label="头像"是只能显示图片路径的,即loginBG6这样的文字。我们的目的是显示图片,直接用的方式,结果是不能成功的。我们在数据库中存的是相对路径,那么我们可以在require中补齐路径。其实也不算补完整,这里补了之后也是相对的,变成@/assets....这种的也就是相对在根目录下。我们尝试直接是可以出来图片的,只是所有显示的图片都是同一张。
2024-03-31 01:06:54
885
原创 vue3 el-table 表头以及表格文字居中
使表头文字居中::header-cell-style="{ textAlign: 'center' }"使表格内容文字居中::cell-style="{ textAlign:'center' }" 3、fixed:接受 Boolean 值left或者 right,表示左边固定还是右边固定。2、height:可实现固定表头的表格,不需要额外的代码。5、row-class-name:改变某行的背景色。1、border:给表格加边框。
2024-03-31 00:39:43
3693
原创 达梦数据库使用数据库迁移工具弹窗报错“获取模式失败”的解决办法
于是我们改变数据库的状态。因为MOUNT和OPEN状态可以相互转换,我们就新开一个窗口,在/dm8/bin目录下连接数据库,将数据库状态改为open。因为mount状态下是读取数据或者访问表、视图等数据库对象。在open状态下可以提供正常的数据库服务。在使用数据库迁移工具Data Transfer Service时,在下面这个页面点击下一步之后报错。这里显示系统处于MOUNT状态,这可能是出错的原因。我们去查看数据库状态。修改状态为open之后再迁移就可以成功了。发现是mount状态。
2024-03-05 17:15:40
709
原创 达梦数据库将DMHR模式下的表(迁移)导出为EXCEL文件
数据库迁移工具(Data Transfer Service)位于/dm8/tool/dts.其中/dm8是数据库安装目录。以上就是把达梦数据库中的DMHR模式下的表EMPLOYEE导出为EXCEL文件的全过程了。这里sysdba为用户名,Dameng123为口令,192.168.148.130为主机号,5236为端口号。或者本地的可以直接省略ip地址或主机名,即./disql sysdba/Dameng123。我们可以去/dm8/DM2EXCEL1目录下查看,发现已经有这个文件了。可以看到出现了新的工程。
2024-03-05 16:43:52
2331
原创 Spring MVC数据绑定的几种方法(一)
1)在IDEA环境中从archetye创建webapp类型的maven项目exp6。2)在src\main目录下创建并标注java源代码文件夹和resources资源文件夹。3)在pom.xml文件中,添加Spring MVC的相关依赖。4)在resources文件夹下创建配置文件并完成相关配置。5)配置web.xml文件。6)配置Maven启动项。在pom.xml文件中引入tomcat添加Maven启动项,使用命令。
2023-12-03 21:50:37
640
原创 controller能接收到数据有数据但是前端无法显示数据
又是制作系统时遇到的问题。只是想做个查询的页面,结果弄了一天,在网上各种查问题,各种解决办法用在我的代码上,换了无数种关键词搜索终于找到了一条成功解决了问题。
2023-12-03 16:10:53
677
原创 jsp前端输入中文数据传到controller变成问号?的解决办法
然后就想着是不是编码的问题,或者数据库问题,就把controller里收到的姓名和密码在控制台输出,结果发现输出的姓名是问号?又把拼音版的也输出就没问题。然后就找网上教程,又是一堆配置的还一堆对我的代码没有效果的,比如在UserController里面,login前面的@RequestMapping那里改,把这个。还是写老师布置的实验的时候,解决了xml文件找不到的问题之后又遇到新的问题:前端登录处输入用户名和密码,结果明明输入的用户名是对的密码也是对的(输入的用户名是中文),它就是显示用户名或密码错误。
2023-12-02 00:52:56
616
原创 Mapper文件夹在resource目录下但是网页报错找不到productMapper.xml文件的解决
我寻思着应该是因为以前的是除了com.dhu.mapper包还有com.dhu.controller这样的包,所以自动会划分层级,而这里可能是没有直接划分层级,所以还是用点,也就是这个包原来的名字。然后找了网上一堆教程,加加减减配参数的都有,还有说在mapper包里放package的,package=com.dhu.mapper,也没用,还是找不到这个xml文件。网上有问题的一部分不是因为mapper包位置没有放在resource目录里,我的没放错但是就是报错了。然后试了一下还真可以!
2023-12-02 00:29:14
241
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人