杂记
软件的使用,操作步骤,问题的解决方案等等
月下弯虹
这个作者很懒,什么都没留下…
展开
-
Vue子路由怎么调用父路由中的方法和参数
问题:Vue中子路由怎么去调用父路由的方法和参数思路:直接在子路由的范围内使用this.$parent.xx即可调用对应父亲路由的参数。使用this.$parent.xx()即可调用对应父亲路由的方法。具体实现:直接贴入自己的测试页面就能看见效果了.<div id="app"> <router-link to="/son" tag="div"></router-link> <router-view></router-view原创 2021-01-07 13:31:37 · 2601 阅读 · 0 评论 -
Vue怎么通过函数切换路由
问题:Vue怎么通过函数切换路由思想:直接使用this.$router.replace(’/目标’)来切换路由地址实现代码<div id="app"> <router-link to="/son" tag="div">儿子</router-link> <router-link to="/daughter" tag="div">女儿</router-link> <router-view></rou原创 2021-01-11 11:49:48 · 347 阅读 · 0 评论 -
Vue父路由调用子路由中的方法
问题:vue如何在父路由中调用子路由的方法思路:由父路由emit信号给子路由由子路由接收对应信号子路根据信号规则去使用自己的相应的方法具体实现:有需要的可以直接粘贴到测试页面,就可以看见效果了。<div id="app"> <button v-on:click="sonClick">父亲触发儿子事件的按钮</button> <button v-on:click="daughterClick">父亲触发女儿事件的按钮</bu原创 2021-01-07 13:31:14 · 2316 阅读 · 0 评论 -
Vue全局响应的按键事件
问题:Vue怎么做到全局响应按键事件,因为自定义按键事件一般要写在input标签上,且要聚焦在input上才能响应。思路:直接在Vue的mounted中监听键盘按键具体代码<div id="app"></div><script type="text/javascript"> Vue.config.keyCodes.f2 = 113 var vm = new Vue({ el: '#app', data: {原创 2021-01-11 11:48:56 · 844 阅读 · 0 评论 -
HashMap
前言HashMap的整体结构是由Node<K, V>形成的数组table,table中每个下标对应的位置被称为bin。每个bin保存的结果只有三种,分别是null,链表和红黑树。而且每个下标中都是相互独立的,比如下标为0的是null,下标为1的是链表,下标为2的是红黑树。每个节点(Node<K, V>)中保存着key,由hash(key)对table长度取余就知道保存的下标位置。如果有多个节点的保存地址出现了重复,那么就会出现链表的结构。当某个bin中链表的长度大于了TREEI原创 2021-09-01 21:44:01 · 141 阅读 · 0 评论 -
C++完美转发
C++11中存在完美转发的概念以及万能引用。原创 2021-10-11 21:02:28 · 47 阅读 · 0 评论 -
39. 组合总和
39. 组合总和给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和为目标数 target 的唯一组合。candidates 中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种组合是唯一的。对于给定的输入,保证和为 target 的唯一组合数少于 150 个。示例 1:输入: candidates = [2,3,6,7], target = 7输出: [[7],[2,2,3]]示例 2:输入: c原创 2021-10-11 21:08:29 · 43 阅读 · 0 评论 -
15. 三数之和
15. 三数之和给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 *a,b,c ,*使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。**注意:**答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]提示:0 <= nums.length &原创 2021-10-09 15:00:00 · 40 阅读 · 0 评论 -
43. 字符串相乘
43. 字符串相乘给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"说明:num1 和 num2 的长度小于110。num1 和 num2 只包含数字 0-9。num1 和 num2 均不以零开头,除非是数字 0 本身。不能使用任何标准原创 2021-10-12 19:37:09 · 49 阅读 · 0 评论 -
40. 组合总和 II
40. 组合总和 II给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。**注意:**解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,输出:[[1,1,6],[1,2,5],[1,7],[2,6]]示例 2:输入: candidates = [2,5,2,原创 2021-10-11 21:09:08 · 68 阅读 · 0 评论 -
33. 搜索旋转排序数组
33. 搜索旋转排序数组整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。给你 旋转后原创 2021-10-11 21:03:08 · 49 阅读 · 0 评论 -
16. 最接近的三数之和
16. 最接近的三数之和给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例:输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。提示:3 <= nums.length <= 10^3-10^3 <= nums[i] <= 10^原创 2021-10-09 15:00:00 · 39 阅读 · 0 评论 -
22. 括号生成
22. 括号生成数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]提示:1 <= n <= 8class Solution { // ( // //原创 2021-10-10 14:12:03 · 41 阅读 · 0 评论 -
1. 两数之和
1. 两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], t原创 2021-10-07 12:27:49 · 34 阅读 · 0 评论 -
17. 电话号码的字母组合
17. 电话号码的字母组合给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = "23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]示例 2:输入:digits = ""输出:[]示例 3:输入:digits = "2"输出:["a","b","c"]提示:0 <= di原创 2021-10-09 15:00:00 · 40 阅读 · 0 评论 -
45. 跳跃游戏 II
45. 跳跃游戏 II给你一个非负整数数组 nums ,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。假设你总是可以到达数组的最后一个位置。示例 1:输入: nums = [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。示例 2:输入: nums = [2,3,0,1,4]输原创 2021-10-12 19:38:50 · 1088 阅读 · 0 评论 -
3. 无重复字符的最长子串
3. 无重复字符的最长子串给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须原创 2021-10-07 12:29:37 · 33 阅读 · 0 评论 -
18. 四数之和
18. 四数之和给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 *a,*b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意: 答案中不可以包含重复的四元组。示例 1:输入:nums = [1,0,-1,0,-2,2], target = 0输出:[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]示例 2:输入:nums = [], target =原创 2021-10-09 15:00:00 · 51 阅读 · 0 评论 -
24. 两两交换链表中的节点
24. 两两交换链表中的节点给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2:输入:head = []输出:[]示例 3:输入:head = [1]输出:[1]提示:链表中节点的数目在范围 [0, 100] 内0 <= Node.val <= 100**进阶:**你能在不修改链表节点值的情况下解决这个问题吗原创 2021-10-10 14:13:06 · 42 阅读 · 0 评论 -
34. 在排序数组中查找元素的第一个和最后一个位置
34. 在排序数组中查找元素的第一个和最后一个位置给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。进阶:你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗?示例 1:输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]示例 2:输入:nums = [5,7,7,8,8,10], target = 6输出:原创 2021-10-11 21:04:17 · 51 阅读 · 0 评论 -
41. 缺失的第一个正数
41. 缺失的第一个正数给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为O(n)并且只使用常数级别额外空间的解决方案。示例 1:输入:nums = [1,2,0]输出:3示例 2:输入:nums = [3,4,-1,1]输出:2示例 3:输入:nums = [7,8,9,11,12]输出:1提示:1 <= nums.length <= 5 * 105-231 <= nums[i] <= 231 - 1原创 2021-10-11 21:10:52 · 53 阅读 · 0 评论 -
23. 合并K个升序链表
23. 合并K个升序链表给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例 1:输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[ 1->4->5, 1->3->4, 2->6]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5->6示例 2:输入:原创 2021-10-10 14:12:26 · 32 阅读 · 0 评论 -
2. 两数相加
2. 两数相加给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9原创 2021-10-07 12:29:02 · 35 阅读 · 0 评论 -
46. 全排列
46. 全排列给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:输入:nums = [1]输出:[[1]]提示:1 <= nums.length <= 6-10 <= nums[i]原创 2021-10-12 19:40:21 · 52 阅读 · 0 评论 -
8. 字符串转换整数 (atoi)
8. 字符串转换整数 (atoi)请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的原创 2021-10-07 12:32:16 · 143 阅读 · 0 评论 -
48. 旋转图像
48. 旋转图像给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[7,4,1],[8,5,2],[9,6,3]]示例 2:输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]输出:[[15,原创 2021-10-12 19:41:06 · 50 阅读 · 0 评论 -
12. 整数转罗马数字
12. 整数转罗马数字罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX +原创 2021-10-09 15:00:00 · 53 阅读 · 0 评论 -
7. 整数反转
7. 整数反转难度简单2956收藏分享切换为英文接收动态反馈给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例 1:输入:x = 123输出:321示例 2:输入:x = -123输出:-321示例 3:输入:x = 120输出:21示例 4:输入:x = 0输出:0提示:-231 <原创 2021-10-07 12:31:45 · 230 阅读 · 0 评论 -
25. K 个一组翻转链表
25. K 个一组翻转链表给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。进阶:你可以设计一个只使用常数额外空间的算法来解决此问题吗?你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。示例 1:输入:head = [1,2,3,4,5], k = 2输出:[2,1,4,3,5]示例 2:输入:head = [1,2,3,4,5], k = 3原创 2021-10-10 14:13:36 · 37 阅读 · 0 评论 -
6. Z 字形变换
6. Z 字形变换将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:原创 2021-10-07 12:31:30 · 31 阅读 · 0 评论 -
5. 最长回文子串
5. 最长回文子串给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"示例 3:输入:s = "a"输出:"a"示例 4:输入:s = "ac"输出:"a"提示:1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成class Solution { public Stri原创 2021-10-07 12:30:40 · 42 阅读 · 0 评论 -
47. 全排列 II
47. 全排列 II给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。示例 1:输入:nums = [1,1,2]输出:[[1,1,2], [1,2,1], [2,1,1]]示例 2:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]提示:1 <= nums.length <= 8-10 <= nums[i] <= 10class S原创 2021-10-12 19:40:36 · 84 阅读 · 0 评论 -
4. 寻找两个正序数组的中位数
4. 寻找两个正序数组的中位数给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5示例 3:输入:n原创 2021-10-07 12:30:05 · 39 阅读 · 0 评论 -
36. 有效的数独
36. 有效的数独请你判断一个 9x9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)数独部分空格内已填入了数字,空白格用 '.' 表示。注意:一个有效的数独(部分已被填充)不一定是可解的。只需要根据以上规则,验证已经填入的数字是否有效即可。示例 1:输入:board = [["5","3",".","原创 2021-10-11 21:05:44 · 45 阅读 · 0 评论 -
28. 实现 strStr()
28. 实现 strStr()实现 strStr() 函数。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与 C 语言的 strstr() 以及 Java 的 indexOf() 定义相符。示例 1:输入:h原创 2021-10-10 14:24:51 · 39 阅读 · 0 评论 -
11. 盛最多水的容器
11. 盛最多水的容器给你 n 个非负整数 a1,a2,...,a``n,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明: 你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49原创 2021-10-07 12:33:52 · 67 阅读 · 0 评论 -
27. 移除元素
27. 移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以**「引用」**方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对原创 2021-10-10 14:24:20 · 35 阅读 · 0 评论 -
9. 回文数
9. 回文数给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解释:从右向左读, 为 01 。因此它不是一个回文数原创 2021-10-07 12:32:47 · 37 阅读 · 0 评论 -
19. 删除链表的倒数第 N 个结点
19. 删除链表的倒数第 N 个结点给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。进阶: 你能尝试使用一趟扫描实现吗?示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]提示:链表中结点的数目为 sz1 <= sz <= 300 <= Node.val <= 100原创 2021-10-09 15:00:00 · 44 阅读 · 0 评论 -
26. 删除有序数组中的重复项
26. 删除有序数组中的重复项给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以**「引用」**方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝int len =原创 2021-10-10 14:23:48 · 42 阅读 · 0 评论