- 博客(99)
- 资源 (3)
- 收藏
- 关注
原创 windows官方工具mediacreationtool制作启动盘导致U盘变成32G
【代码】windows官方工具mediacreationtool制作启动盘导致U盘变成32G。
2023-01-31 22:40:10
1060
1
原创 贪心算法-双指针算法-通过连接另一个数组的子数组得到一个数组
你可以分别在 nums 中选出第 0 个子数组 [1,-1,0,1,-1,-1,3,-2,0] 和第 1 个子数组 [1,-1,0,1,-1,-1,3,-2,0]。:选择子数组 [1,2,3,4,10,-2] 和 [1,2,3,4,10,-2] 是不正确的,因为它们出现的顺序与 groups 中顺序不同。:选择子数组 [7,7,1,2,3,4,7,7] 和 [7,7,1,2,3,4,7,7] 是不正确的,因为它们不是不相交子数组。[10,-2] 必须出现在 [1,2,3,4] 之前。
2022-12-17 21:41:36
167
原创 leetcode-1764-通过连接另一个数组的子数组得到一个数组
你可以分别在 nums 中选出第 0 个子数组 [1,-1,0,1,-1,-1,3,-2,0] 和第 1 个子数组 [1,-1,0,1,-1,-1,3,-2,0]。:选择子数组 [1,2,3,4,10,-2] 和 [1,2,3,4,10,-2] 是不正确的,因为它们出现的顺序与 groups 中顺序不同。:选择子数组 [7,7,1,2,3,4,7,7] 和 [7,7,1,2,3,4,7,7] 是不正确的,因为它们不是不相交子数组。[10,-2] 必须出现在 [1,2,3,4] 之前。
2022-12-17 21:41:01
151
原创 leetcode-1785-构成特定和需要添加的最少元素
在nums求和的过程中,想办法让和的绝对值小于limit,我们可以通过给这个和加上或者减去limit来实现这个效果,并分别记录加上和减去的次数,这个次数在后面是可以相互抵消的。:可以将 -2 和 -3 添加到数组中,数组的元素总和变为 1 - 1 + 1 - 2 - 3 = -4。看到这道题,第一反应就是把nums中的数加起来,然后用加起来的值和goal的差值除以limit即可得到结果。原因在于后面的测试用例中nums的和非常大,超出了int所能表示的范围,因此我们还要考虑其他的方式。
2022-12-16 23:24:15
543
原创 并查集-检查边长度限制的路径是否存在
给你一个n个点组成的无向图边集edgeList,其中表示点ui和点vi之间有一条长度为disi的边。请注意,两个点之间可能有。给你一个查询数组queries,其中,你的任务是对于每个查询queries[j],判断是否存在从pj到qj的路径,且这条路径上的每一条边都limitj。请你返回一个answer,其中,当queries[j]的查询结果为true时,answer第j个值为true,否则为false。:上图为给定的输入数据。注意到 0 和 1 之间有两条重边,分别为 2 和 16。
2022-12-14 21:41:37
156
原创 leetcode-1697-检查边长度限制的路径是否存在
给你一个n个点组成的无向图边集edgeList,其中表示点ui和点vi之间有一条长度为disi的边。请注意,两个点之间可能有。给你一个查询数组queries,其中,你的任务是对于每个查询queries[j],判断是否存在从pj到qj的路径,且这条路径上的每一条边都limitj。请你返回一个answer,其中,当queries[j]的查询结果为true时,answer第j个值为true,否则为false。:上图为给定的输入数据。注意到 0 和 1 之间有两条重边,分别为 2 和 16。
2022-12-14 21:39:51
189
原创 位运算-两整数之和
此外,本题还有一个特别好玩的解法,我们知道对数函数能够将乘除法运算变为加减法运算。同理我们也能把加减法运算用乘除法的形式来表示。本题要求不使用加减号来完成加法运算,按计算机思维来考虑的话不难想到可以通过位运算来模拟计算机的加法。本题需要用到三个位运算符。可以知道该位是否需要进位,由于进位值将加到更高位,因此需要进行左移位。由于左移位最终会变成0,这时也就能直接得出答案了。输入:a = 1, b = 2。输入:a = 2, b = 3。,计算并返回两整数之和。可实现不进位的加法运算。
2022-12-14 19:58:23
197
原创 leetcode-371-两整数之和
此外,本题还有一个特别好玩的解法,我们知道对数函数能够将乘除法运算变为加减法运算。同理我们也能把加减法运算用乘除法的形式来表示。本题要求不使用加减号来完成加法运算,按计算机思维来考虑的话不难想到可以通过位运算来模拟计算机的加法。本题需要用到三个位运算符。可以知道该位是否需要进位,由于进位值将加到更高位,因此需要进行左移位。由于左移位最终会变成0,这时也就能直接得出答案了。输入:a = 1, b = 2。输入:a = 2, b = 3。,计算并返回两整数之和。可实现不进位的加法运算。
2022-12-14 19:58:06
118
原创 leetcode-1832-判断句子是否为全字母句
本题可直接用暴力解法,由于句子中均为小写字母,可以用一个长度为26初值为0的数组,将句子从头到尾完整扫描一遍,每个字母对应位置数加1。扫描完成后再对长度26的数组扫描一遍,如果没有为0的元素,说明句子中包含了所有字母。输入:sentence = “thequickbrownfoxjumpsoverthelazydog”解释:sentence 包含英语字母表中每个字母至少一次。输入:sentence = “leetcode”指包含英语字母表中每个字母至少一次的句子。给你一个仅由小写英文字母组成的字符串。
2022-12-14 15:42:11
110
原创 双指针算法-快慢指针-环形链表 II
给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置**(索引从 0 开始)**。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表。142. 环形链表 II - 力扣(LeetCode) (leetcode-cn.c
2022-02-11 17:13:53
163
原创 leetcode-142-环形链表 II
给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置**(索引从 0 开始)**。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表。142. 环形链表 II - 力扣(LeetCode) (leetcode-cn.c
2022-02-11 17:13:12
901
原创 双指针算法-合并两个有序数组
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。示例 1:输入:nums1 = [1,2,3,0
2022-02-11 16:00:14
611
原创 leetcode-88-合并两个有序数组
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。**注意:**最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。示例 1:输入:nums1 = [1,2
2022-02-11 15:59:32
95
原创 双指针算法-两数之和 II
给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 <= index1 < index2 <= numbers.length 。以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。你可以假设每个输入 只对应唯一的答案 ,而且
2022-02-11 15:29:07
200
原创 leetcode-167-两数之和 II
给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 <= index1 < index2 <= numbers.length 。以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。你可以假设每个输入 只对应唯一的答案 ,而且
2022-02-11 15:26:58
6899
1
原创 贪心算法-非递减数列
给你一个长度为 n 的整数数组 nums ,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中任意的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。示例 1:输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个 4 变成 1 来使得它成为一个非递减数列。示例 2:输入: nums = [4,2,1]输出: false解释: 你不能
2022-02-10 09:53:19
268
原创 leetcode-665-非递减数列
给你一个长度为 n 的整数数组 nums ,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中任意的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。示例 1:输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个 4 变成 1 来使得它成为一个非递减数列。示例 2:输入: nums = [4,2,1]输出: false解释: 你不能
2022-02-10 09:52:48
162
原创 贪心算法-根据身高重建队列
假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。请你重新构造并返回输入数组 people 所表示的队列。返回的队列应该格式化为数组 queue ,其中 queue[j] = [hj, kj] 是队列中第 j 个人的属性(queue[0] 是排在队列前面的人)。示例 1:输入:people = [[7,0],[4,4],[
2022-02-10 09:51:45
134
原创 leetcode-406-根据身高重建队列
假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。请你重新构造并返回输入数组 people 所表示的队列。返回的队列应该格式化为数组 queue ,其中 queue[j] = [hj, kj] 是队列中第 j 个人的属性(queue[0] 是排在队列前面的人)。示例 1:输入:people = [[7,0],[4,4],[
2022-02-10 09:39:06
136
原创 贪心算法-转折-买卖股票的最好时机
给定一个数组 prices ,其中 prices[i] 表示股票第 i 天的价格。在每一天,你可能会决定购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以购买它,然后在 同一天 出售。返回 你能获得的 最大 利润 。示例 1:输入: prices = [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3)的时候买
2022-02-09 15:01:54
147
原创 leetcode-122-股票买卖时机
给定一个数组 prices ,其中 prices[i] 表示股票第 i 天的价格。在每一天,你可能会决定购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以购买它,然后在 同一天 出售。返回 你能获得的 最大 利润 。示例 1:输入: prices = [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3)的时候买
2022-02-09 15:00:21
78
原创 贪心算法-区间问题-划分字母区间
字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。示例:输入:S = “ababcbacadefegdehijhklij”输出:[9,7,8]解释:划分结果为 “ababcbaca”, “defegde”, “hijhklij”。每个字母最多出现在一个片段中。像 “ababcbacadefegde”, “hijhklij” 的划分是错误的,因为划分的片段数较少。提示:S的长度在[1, 500]之间
2022-02-09 14:46:26
201
原创 leetcode-763-划分字母区间
字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。示例:输入:S = “ababcbacadefegdehijhklij”输出:[9,7,8]解释:划分结果为 “ababcbaca”, “defegde”, “hijhklij”。每个字母最多出现在一个片段中。像 “ababcbacadefegde”, “hijhklij” 的划分是错误的,因为划分的片段数较少。提示:S的长度在[1, 500]之间
2022-02-09 14:42:07
583
原创 贪心算法-区间问题-合并区间-用最少数量的箭引爆气球
在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 x start,x end, 且满足 xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。我们想找到使得所有气球全部被引爆,所需的
2022-02-09 14:19:09
111
原创 leetcode-452-用最少数量的箭引爆气球
在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 x start,x end, 且满足 xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。我们想找到使得所有气球全部被引爆,所需的
2022-02-09 14:18:03
154
原创 贪心算法-种花问题
假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花?能则返回 true ,不能则返回 false。示例 1:输入:flowerbed = [1,0,0,0,1], n = 1输出:true示例 2:输入:flowerbed = [1,0,0,0,
2022-02-09 13:58:55
328
原创 leetcode-605-种花问题
假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花?能则返回 true ,不能则返回 false。示例 1:输入:flowerbed = [1,0,0,0,1], n = 1输出:true示例 2:输入:flowerbed = [1,0,0,0,
2022-02-09 13:58:24
6628
原创 贪心算法-区间问题-无重叠区间
给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。示例 1:输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。示例 2:输入: [ [1,2], [1,2], [1,2] ]输出: 2解释: 你需要移除两个 [1,2] 来使剩下的区间没有重叠。示例 3:输入: [
2022-02-09 13:49:35
604
原创 leetcode-435-无重叠区间
给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。示例 1:输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。示例 2:输入: [ [1,2], [1,2], [1,2] ]输出: 2解释: 你需要移除两个 [1,2] 来使剩下的区间没有重叠。示例 3:输入: [
2022-02-09 13:48:01
194
原创 burp suite在越权测试中的使用
鉴权场景的应用1.工具准备需要提前安装好Auth Analyzer插件,安装方法如图所示:由于Burp代理需要设置系统代理和浏览器代理,为了方便起见,可以使用Burp Suite内置浏览器(已经开启了代理)。注意,这个Open Browser旁边的旁边按钮最好设置为Intercept is off(否则Burp将会拦截所有请求,需要一个个请求手动点击Forward)。2.环境准备使用Burp内置的浏览器登录一个具有完全权限的账号,使用其他的浏览器登录一个不具有任何权限的账号,并获取这个无权限
2022-01-12 10:47:37
4074
1
原创 SQL使用不同方式查询同一逻辑内容时数量不一致的问题
首先检查不同查询方式所用的SQL语句是否不同,如果不同,有哪些区别。下面是查询同一种数据的两种不同方式,从产品方案来说,两种方法在理论上应当得到相同的数量。count(getZt)SELECT COUNT(*) FROM SS_API WHERE zt_id IN (SELECT id FROM WD_ZT WHERE id='02021091311285496100000101001103' OR sjztid='02021091311285496100000101001103' OR
2021-11-24 19:57:24
888
原创 golang map
golang中的map在初始化方面和数组比较相似。区别在于map在make的时候可以只指定类型,不指定大小,而且map也不存在capacity。map类型一般是如下形式map[key类型]value类型package mainimport "fmt"func main() { //var声明,稍后再使用make分配空间 var map1 map[string]string if map1 == nil { fmt.Println("nil") } map1 = make(map[st
2021-10-22 15:46:06
121
原创 golang数组与slice
golang的数组分为固定长度和动态(slice)两种形式。定长数组定长数组采用数组名 := [长度]数组成员类型{初始化值}声明并初始化或者var 数组名 [长度]数组成员类型声明。定长数组可以采用for循环或者range for循环遍历:array1 := [5]int{1, 2, 3, 4, 5}fmt.Println(array1)for index, value := range array1 { fmt.Println(index, value)}定长数组在参数传递过程
2021-10-22 14:37:02
623
原创 golang for循环
golang中的for循环有多种形式,和C++的for循环非常类似。一、完整的for循环完整的for循环的格式为for 初始化;条件判断;改变条件判断所用变量{},完整的for循环通常用于已知长度的容器或数组的遍历。arrays := [10]int{1, 23, 442, 234, 534, 123, 124}for i := 0; i < len(arrays); i++ { fmt.Println(arrays[i])}二、类似while循环的for循环类似while的f
2021-10-22 10:17:30
9352
原创 golang指针
golang中的指针和C/C++类似。以学习C语言指针时常用的swap函数为例,如果不使用指针时,交换的是swap函数中局部变量的值,因此无法交换两个参数的值。package mainimport "fmt"func swapTwo(lhs int, rhs int) { fmt.Printf("typeof args = %T\n", lhs) lhs, rhs = rhs, lhs}func main() { a := 123 b := 321 fmt.Println(
2021-10-21 16:34:36
264
计算机性能监测工具.exe
2020-07-26
ChezScheme9.5.exe
2020-06-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人