- 博客(317)
- 收藏
- 关注
原创 Element-UI中的下拉栏
好久没有写博客了,今天在做毕业设计的图形化界面时遇到了一些问题,是有关Element-UI中的下来栏的问题,我需要有一个下拉栏用于选择网络的模式。原先从来没有涉及相关的前端的这方面知识,找到了下面两个博客问题得到了解决:链接一链接2还有如何设置动态表头的问题:链接...
2022-03-02 20:22:56
983
原创 NC01--股票(一次交易)、合并k个有序链表、字符串的排列、接雨水问题、输出二叉树的右视图
1、股票(一次交易)https://www.nowcoder.com/practice/64b4262d4e6d4f6181cd45446a5821ec?tpId=117&&tqId=37717&rp=1&ru=/activity/oj&qru=/ta/job-code-high/question-ranking根本用不上什么动态规划,直接遍历数组,然后找到最低价格,然后在后面减去最低价格,得到利润和最大利润进行比较,实现对最大的利润的更新,总之就是在遍历的过
2021-08-04 16:36:28
625
原创 基于session的验证方式和Token验证方式的区别,以及JWT的具体实现流程
1、传统的cookie认证过程长期以来,基于Session的认证(Session based authentication)一直处于主流地位。由于http协议是无状态的,借助cookie,客户端登陆成功后,服务端就能识别其后续请求,而不需要每次都登陆。它是有状态的(statefull),也就是服务端和客户端都需要保存生成的session,也就是说在服务端需要在数据库中追踪session是否alive,客户端要把session写入cookie中。基本过程如下:客户端登陆,一般输入用户名和密码服务端如
2021-07-29 20:42:23
529
转载 IP地址和子网掩码
本科的时候其实修过计算机网络,但是现在基本上都还给老师了,在这里重新学习一下IP地址的相关内容1、IP地址的分类A类:000~127,默认子网掩码:255.0.0.0B类:128~191,默认子网掩码:255.255.0.0C类:192~223,默认子网掩码:255.255.255.0D类:224~239E类:240~2552、子网掩码子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位
2021-07-23 21:37:21
27981
原创 LeetCode178--扑克牌中的顺子(O61)、圆圈中最后剩下的数字(O62)、股票的最大利润(O63)、求1+2+3……+n(O64)、二叉树的最近公共祖先(O68II)
1、扑克牌中的顺子//从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任//意数字。A 不能视为 14。//////// 示例 1://// 输入: [1,2,3,4,5]//输出: True//////// 示例 2://// 输入: [0,0,1,2,5]//输出: True//////// 限制://// 数组长度为 5//// 数组的数取值为 [
2021-07-23 11:29:52
166
原创 LeetCode177--不用加减乘除做加法(O65)、队列的最大值(O59)、n个骰子的点数(O60)、把字符串转换成整数(O67)
1、不用加减乘除做加法//写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。//////// 示例://// 输入: a = 1, b = 1//输出: 2//////// 提示:////// a, b 均可能是负数或 0// 结果不会溢出 32 位整数//// Related Topics 位运算 数学不用加减乘除做加法,直接采用本位加进位的方式进行,按位进行异再左移一位就能得到进位,按位相与就能得到本位,然后相加,
2021-07-23 11:15:39
168
原创 Elasticsearch的相关知识
最近项目中用到了elasticsearch来进行商品搜索的,所以专门总结如下:1. 倒排索引又称反向索引,比如以诗歌中的字作为key,诗歌作为value,但直接对诗中的每一个字和诗的内容建立索引就会导致索引量爆炸,所以一般都会直接将value换成诗的题目:再比如下面这个表格:我们可以建立名字和内容之间的索引:size的倒排索引:sex的倒排索引:大家可以看到所有的倒排所有都有Term和Posting List这两个概念,Posting list就是一个int的数组,存储了所有符合某个
2021-07-22 15:13:20
147
1
原创 LeetCode176--最长不含重复字符的字符串(O48)、丑数(O49)
1、最长不含重复字符的字符串//请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。//////// 示例 1://// 输入: “abcabcbb”//输出: 3//解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。////// 示例 2://// 输入: “bbbbb”//输出: 1//解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。////// 示例 3://// 输入: “pwwkew”//输出:
2021-07-22 10:42:50
120
原创 LeetCode175--把数组排成最小的数(O45)、和为s的连续正数序列(O57 II)、把数字翻译成字符串(O46)、礼物的最大价值(O47)
1、把数组排成最小的数//输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。//////// 示例 1://// 输入: [10,2]//输出: “102”//// 示例 2://// 输入: [3,30,34,5,9]//输出: “3033459”//////// 提示:////// 0 < nums.length <= 100////// 说明:////// 输出结果可能非常大,所以你需要返回一
2021-07-21 10:15:47
113
原创 LeetCode174--二叉树中和为某一值的路径(O34)、数组中数字出现的次数(O56-I)、数组中数字出现的次数(O56-II)、和为s的两个数字(O57)
1、二叉树中和为某一值的路径//输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。//////// 示例://给定如下二叉树,以及目标和 target = 22,////// 5// / // 4 8// / / // 11 13 4// / \ / /
2021-07-20 15:14:46
125
原创 LeetCode173--从上到下打印二叉树I(O32)、从上到下打印二叉树III(O32)、数字序列中的某一位数字(O44)、二叉树的后续遍历序列(O33)、
1、从上到下打印二叉树I//从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。//////// 例如://给定二叉树: [3,9,20,null,null,15,7],//// 3// / // 9 20// / // 15 7////// 返回://// [3,9,20,15,7]////////// 提示:////// 节点总数 <= 1000//// Related Topics 树 广度优
2021-07-17 12:20:13
80
原创 LeetCode172--复杂链表的复制(O35)、二叉搜索树与双向链表(O36)、栈的压入、弹出序列(O31)、字符串的排序(O38)
1、复杂链表的复制//请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指//向链表中的任意节点或者 null。//////// 示例 1://////// 输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]//输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]////// 示例 2://////
2021-07-16 15:43:26
88
原创 LeetCode171--表示数值的字符串(O20)、调整数组顺序使奇数位于偶数前面(O21)、数值的整数次方(O16)、打印1到最大的n位数(O17)
1、表示数值的字符串//请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。//// 数值(按顺序)可以分成以下几个部分:////// 若干空格// 一个 小数 或者 整数// (可选)一个 ‘e’ 或 ‘E’ ,后面跟着一个 整数// 若干空格////// 小数(按顺序)可以分成以下几个部分:////// (可选)一个符号字符(’+’ 或 ‘-’)// 下述格式之一://// 至少一位数字,后面跟着一个点 ‘.’// 至少一位数字,后面跟着一个点 ‘.’ ,
2021-07-15 11:30:28
248
1
原创 LeetCode170--重建二叉树(O07)、剪绳子I(O14-I)、树的子结构(O26)
1、重建二叉树//输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。//// 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。//////// 示例 1://////Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]//Output: [3,9,20,null,null,15,7]////// 示例 2://////Input: preorder = [-1], inorder = [
2021-07-14 10:07:21
99
原创 SpringBoot相关知识
1、SpringBoot介绍1.1 什么是Spring框架,说一说对Spring框架的理解Spring 是重量级企业开发框架 Enterprise JavaBean(EJB) 的替代品,Spring 为企业级 Java 开发提供了一种相对简单的方法,通过 依赖注入 和 面向切面编程 ,用简单的 Java 对象(Plain Old Java Object,POJO) 实现了 EJB 的功能。Spring是很多模块的集合,这些模块是:核心容器、数据访问/集成、Web、AOP(面向切面编程)、工具、消息和测
2021-07-12 19:46:17
307
1
原创 LeetCode169--替换空格(O5)、机器人的运动范围(O13)
1、替换空格//请实现一个函数,把字符串 s 中的每个空格替换成"%20"。//////// 示例 1://// 输入:s = “We are happy.”//输出:“We%20are%20happy.”//////// 限制://// 0 <= s 的长度 <= 10000// Related Topics 字符串这题很简单不再多说了public String replaceSpace(String s) { StringBuffer s
2021-07-12 15:49:38
75
原创 LeetCode168--最短无序连续子数组(L581)、任务调度器(L621)
1、最短无序连续子数组//给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。//// 请你找出符合题意的 最短 子数组,并输出它的长度。//////////// 示例 1://////输入:nums = [2,6,4,8,10,9,15]//输出:5//解释:你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。////// 示例 2://////输入:nums
2021-07-11 10:44:19
160
原创 LeetCode167--把二叉树转换成累加树(L538)、和为K的子数组(L560)
1、把二叉树转换成累加树//给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于// node.val 的值之和。//// 提醒一下,二叉搜索树满足下列约束条件:////// 节点的左子树仅包含键 小于 节点键的节点。// 节点的右子树仅包含键 大于 节点键的节点。// 左右子树也必须是二叉搜索树。////// 注意:本题和 1038: https://leetcode-cn.c
2021-07-10 11:56:30
124
原创 Redis相关知识
1、简单介绍一下RedisRedis是一个使用C语言开发的非关系型数据库,不过与其他数据库不同的是,它直接存在于内存当中的,读写非常快美因茨Redis被广泛应用于缓存方向。作用:除了做缓存之外,常用于做分布式锁,甚至消息队列优势:除了支持多种数据类型的键值对之外,还支持事务、持久化,以及lua脚本语言以及多种集群方案。2、关系型数据库和非关系型数据库的区别非关系型数据库:性能:关系型数据库是基于二维表的,而非关系型数据库是基于键值对的,不需要经过SQL层的解析,性能十分高。可扩展性:数据
2021-07-09 17:08:59
84
原创 LeetCode166--找到字符串中所有字母异位词(L438)、目标和(L494)
1、找到字符串中所有字母异位词//给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引。//// 字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100。//// 说明:////// 字母异位词指字母相同,但排列不同的字符串。// 不考虑答案输出的顺序。////// 示例 1://////输入://s: “cbaebabacd” p: “abc”////输出://[0, 6]////解释
2021-07-09 10:15:14
87
1
原创 LeetCode165--分割等和子集(L416)、路径总和III(L437)
1、分割等和子集//给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。//////// 示例 1://////输入:nums = [1,5,11,5]//输出:true//解释:数组可以分割成 [1, 5, 5] 和 [11] 。//// 示例 2://////输入:nums = [1,2,3,5]//输出:false//解释:数组不能分割成两个元素和相等的子集。////////// 提示:
2021-07-08 10:18:52
138
原创 LeetCode164--等式方程的可满足性(L990)、根据身高重建队列(L406)
1、等式方程的可满足性//给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程 equations[i] 的长度为 4,并采用两种不同的形式之一:“ab" 或 “a!//=b”。在这里,a 和 b 是小写字母(不一定不同),表示单字母变量名。//// 只有当可以将整数分配给变量名,以便满足所有给定的方程时才返回 true,否则返回 false。////////////// 示例 1://// 输入:["ab”,“b!=a”]//输出:false//解释:如果我们指
2021-07-07 10:14:36
100
原创 LeetCode163--前k个高频元素(L347)、字符串解码(L394)
1、前k个高频元素//给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。//////// 示例 1://////输入: nums = [1,1,1,2,2,3], k = 2//输出: [1,2]////// 示例 2://////输入: nums = [1], k = 1//输出: [1]//////// 提示:////// 1 <= nums.length <= 105// k
2021-07-06 10:30:42
133
原创 MySQL数据库相关知识
1、数据库底层1.1 MySQL的相关介绍1.1.1 常用的关系型数据库有哪些?MySQL、PostgreSQL、Oracle、SQL Server、SQLite1.1.2 MySQL的默认端口号?33061.1.3 MySQL存储引擎MySQL支持的存储引擎有InnoDB、MyISAM这两种是最终要的,此外MySQL还支持很多存储引擎,现在默认的存储引擎是InnoDB,也是唯一一个支持事务的存储引擎各存储引擎之间的区别(问题变种:如何选择存储引擎,主要是在MyISAM和InnoDB之间选择
2021-07-05 21:53:32
186
1
原创 LeetCode162--打家劫舍III(L337)、比特位计数(L338)
1、打家劫舍III//在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“//房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。//// 计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。//// 示例 1://// 输入: [3,2,3,null,3,null,1]////
2021-07-05 10:56:45
185
原创 计算机网络的相关知识
1. OSI与TCP/IP各层的结构与功能,都有哪些协议?五层协议结构:物理层、链路层、网络层、运输层、应用层1.1 应用层通过同一台主机应用进程间的交互来完成也定网络应用,其中包括域名系统DNS协议、支持万维网应用的HTTP协议、支持电子邮件的SMTP协议。1.2 运输层负责两台主机进程之间的通信提供通用的数据传输服务,也就是解决不同台主机应用进程间的交互,主要包含传输控制协议TCP以及用户数据协议UDP1.3 网络层负责不同主机间的逻辑通信,网络层的任务就是选择合适的网件路由和交换节点,确
2021-07-04 20:00:56
144
2
原创 LeetCode161--零钱兑换(L322)、打家劫舍II(L213)
1、零钱兑换//给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回// -1。//// 你可以认为每种硬币的数量是无限的。//////// 示例 1://////输入:coins = [1, 2, 5], amount = 11//输出:3//解释:11 = 5 + 5 + 1//// 示例 2://////输入:coins = [2], amount = 3//
2021-07-04 09:35:01
69
2
原创 LeetCode160--最长递增子序列(L300)、最佳买卖股票时机含冷冻期(L309)
1、最长递增子序列//给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。//// 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序//列。////// 示例 1://////输入:nums = [10,9,2,5,3,7,101,18]//输出:4//解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。////// 示例 2://////
2021-07-03 23:03:39
110
2
原创 操作系统的相关知识
1. 操作系统基础1.1 什么是操作系统?操作系统是管理计算机软硬件资源的一个程序,是计算机的基石。举例:你电脑上的程序就是通过操作系统来访问计算机上的CPU和硬盘资源的;屏蔽了硬件的复杂性,相当于是硬件的使用负责人操作系统的内核是操作系统的核心,主要负责硬件设备的管理、系统内存的管理、文件系统的管理。是软件和硬件之间的桥梁,决定着系统的性能和稳定性。1.2 什么是系统调用?进程在系统上运行有两种级别,首先是用户态,其次是系统态,前者可以直接获取用户程序运行的数据,而后者几乎可以访问计算机上
2021-07-02 21:36:20
148
1
原创 LeetCode159--完全平方数(L279)、寻找重复数(L287)
1、完全平方数//给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。//// 给你一个整数 n ,返回和为 n 的完全平方数的 最少数量 。//// 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。////////// 示例 1://////输入:n = 12//输出:3//解释:12 =
2021-07-02 10:52:06
117
原创 多线程的相关知识
1.什么是线程和进程?进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序就是一个进程从创建到运行到消亡的过程,在windows中表现为.exe文件的运行,在JVM中启动main函数其实就是启动了一个线程,只是主函数是这个进程中的一个线程,也叫主线程。线程是一个比进程更小的执行单位,一个进程在其执行的过程中可以产生多个线程。在JVM中多个线程共享进程的JAVA堆、方法区,每个线程有自己的本地方法栈、Java虚拟机栈、程序计数器。系统在产生一个线程或者各个线程之间切换工
2021-07-01 19:41:35
345
原创 LeetCode158--除自身以外数组的乘积(L238)、搜索二维矩阵II(L240)
1、除自身以外数组的乘积//给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之//外其余各元素的乘积。//////// 示例://// 输入: [1,2,3,4]//输出: [24,12,8,6]//////// 提示:题目数据保证数组之中任意元素的全部前缀元素和后缀(甚至是整个数组)的乘积都在 32 位整数范围内。//// 说明: 请不要使用除法,且在 O(n)
2021-07-01 11:31:19
88
原创 LeetCode157--实现前缀树(L208)、最大正方形(L221)
1、实现前缀树//Trie(发音类似 “try”)或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼//写检查。//// 请你实现 Trie 类:////// Trie() 初始化前缀树对象。// void insert(String word) 向前缀树中插入字符串 word 。// boolean search(String word) 如果字符串 word 在前缀树中,返回 true(即,在检索之前已经插入)
2021-06-29 11:21:31
82
原创 LeetCode156--岛屿数量(L200)、课程表II(L210)
1、岛屿数量//给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。//// 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。//// 此外,你可以假设该网格的四条边均被水包围。//////// 示例 1://////输入:grid = [// [“1”,“1”,“1”,“1”,“0”],// [“1”,“1”,“0”,“1”,“0”],// [“1”,“1”,“0”,“0”,“0”],// [“0”
2021-06-27 11:27:34
72
原创 LeetCode155--乘积最大子数组(L152)、打家劫舍(L198)
1、乘积最大子数组//给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。//////// 示例 1://// 输入: [2,3,-2,4]//输出: 6//解释: 子数组 [2,3] 有最大乘积 6。////// 示例 2://// 输入: [-2,0,-1]//输出: 0//解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。// Related Topics 数组 动态规划**方法一
2021-06-25 10:20:39
65
原创 LeetCode154--LRU缓存机制(L146)、排序链表(L148)
1、LRU缓存机制//运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。//////// 实现 LRUCache 类:////// LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存// int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。// void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,
2021-06-24 10:29:42
80
1
原创 LeetCode153--单词拆分(L139)、环形链表II(L142)
1、单词拆分(L139)//给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。//// 说明:////// 拆分时可以重复使用字典中的单词。// 你可以假设字典中没有重复的单词。////// 示例 1://// 输入: s = “leetcode”, wordDict = [“leet”, “code”]//输出: true//解释: 返回 true 因为 “leetcode” 可以被拆分成 “lee
2021-06-23 22:37:44
87
1
原创 LeetCode152--二叉树展开成链表(L114)、最长连续序列(L128)
1、二叉树展开成链表(L114)//给你二叉树的根结点 root ,请你将它展开为一个单链表:////// 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。// 展开后的单链表应该与二叉树 先序遍历 顺序相同。////////// 示例 1://输入:root = [1,2,5,3,4,null,6]//输出:[1,null,2,null,3,null,4,null,5,null,6]//////
2021-06-22 09:37:08
165
原创 Java集合框架
1.Java集合概述从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有 3 种子类型,List、Set 和 Queue,再下面是一些抽象类,最后是具体实现类,常用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等等。集合框架主要包含一下内容:接口:是代表集合的抽象数据
2021-06-21 15:26:50
324
原创 LeetCode151--不同的二叉搜索树(L96)、验证二叉搜索树(L98)
1、不同的二叉搜索树//给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。//////// 示例 1://////输入:n = 3//输出:5////// 示例 2://////输入:n = 1//输出:1////////// 提示:////// 1 <= n <= 19//// Related Topics 树 动态规划这里主要需要推出公式,然后直接进行计
2021-06-20 09:50:11
54
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人