- 博客(51)
- 资源 (6)
- 收藏
- 关注
原创 windows10 + python -m bitsandbytes
当进行大模型的训练的过程中,会遇到有关量化的问题,需要安装。备注:非官网,跳转还是比较慢的,请耐心等待,测试是有效的。官方未提供对应的 bitsandbytes的win版本;
2023-08-17 17:05:49 338
原创 nltk.stem.WordNetLemmatizer()时报错BadZipFile(“File is not a zip file“)的解决方法
nltk.stem.wordnet.WordNetLemmatizer()时报错BadZipFile(“File is not a zip file“)的解决方法
2022-07-13 10:37:35 918 1
原创 5620. 连接连续二进制数字
题目描述:给你一个整数 n ,请你将 1 到 n 的二进制表示连接起来,并返回连接结果对应的 十进制 数字对 1000000007 取余的结果。示例 1:输入:n = 1输出:1解释:二进制的 "1" 对应着十进制的 1 。示例 2:输入:n = 3输出:27解释:二进制下,1,2 和 3 分别对应 "1" ,"10" 和 "11" 。将它们依次连接,我们得到 "11011" ,对应着十进制的 27 。示例 3:输入:n = 12输出:505379714解释:连接结果为 "1
2020-12-06 13:56:09 367
原创 5614. 找出最具竞争力的子序列
题目描述:给你一个整数数组 nums 和一个正整数 k ,返回长度为 k 且最具 竞争力 的 nums 子序列。数组的子序列是从数组中删除一些元素(可能不删除元素)得到的序列。在子序列 a 和子序列 b 第一个不相同的位置上,如果 a 中的数字小于 b 中对应的数字,那么我们称子序列 a 比子序列 b(相同长度下)更具 竞争力 。 例如,[1,3,4] 比 [1,3,5] 更具竞争力,在第一个不相同的位置,也就是最后一个位置上, 4 小于 5 。解题思路:1、ret.size() + nums.s
2020-11-29 17:49:51 370
原创 5607. 生成平衡数组的方案数
题目描述:给你一个整数数组 nums 。你需要选择 恰好 一个下标(下标从 0 开始)并删除对应的元素。请注意剩下元素的下标可能会因为删除操作而发生改变。比方说,如果 nums = [6,1,7,4,1] ,那么:选择删除下标 1 ,剩下的数组为 nums = [6,7,4,1] 。选择删除下标 2 ,剩下的数组为 nums = [6,1,4,1] 。选择删除下标 4 ,剩下的数组为 nums = [6,1,7,4] 。如果一个数组满足奇数下标元素的和与偶数下标元素的和相等,该数组就是一个 平衡
2020-11-22 12:37:54 304
原创 5535. 括号的最大嵌套深度
题目描述:如果字符串满足一下条件之一,则可以称之为 有效括号字符串(valid parentheses string,可以简写为 VPS):字符串是一个空字符串 "",或者是一个不为 "(" 或 ")" 的单字符。字符串可以写为 AB(A 与 B 字符串连接),其中 A 和 B 都是 有效括号字符串 。字符串可以写为 (A),其中 A 是一个 有效括号字符串 。类似地,可以定义任何有效括号字符串 S 的 嵌套深度 depth(S):depth("") = 0depth(A + B) = max
2020-10-11 13:40:39 904
原创 5537. 分割两个字符串得到回文串
题目描述:给你两个字符串 a 和 b ,它们长度相同。请你选择一个下标,将两个字符串都在 相同的下标 分割开。由 a 可以得到两个字符串: aprefix 和 asuffix ,满足 a = aprefix + asuffix ,同理,由 b 可以得到两个字符串 bprefix 和 bsuffix ,满足 b = bprefix + bsuffix 。请你判断 aprefix + bsuffix 或者 bprefix + asuffix 能否构成回文串。当你将一个字符串 s 分割成 sprefix 和
2020-10-11 13:25:07 1944 2
原创 75. 颜色分类
题目描述:给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶:一个直观的解决方案是使用计数排序的两趟扫描算法。首先,迭代计算出0、1和 2 元素的个数,然后按照0、1、2的排序,重写当前数组。你能想出一个仅使用常数空间
2020-10-07 17:27:41 129
原创 5532. 奇偶树
题目描述:如果一棵二叉树满足下述几个条件,则可以称为 奇偶树 :二叉树根节点所在层下标为 0 ,根的子节点所在层下标为 1 ,根的孙节点所在层下标为 2 ,依此类推。偶数下标 层上的所有节点的值都是 奇 整数,从左到右按顺序 严格递增奇数下标 层上的所有节点的值都是 偶 整数,从左到右按顺序 严格递减给你二叉树的根节点,如果二叉树为 奇偶树 ,则返回 true ,否则返回 false 。示例 1:输入:root = [1,10,4,3,null,7,9,12,8,6,null,null,2]
2020-10-04 15:48:40 250
原创 5531. 特殊数组的特征值
题目描述:给你一个非负整数数组 nums 。如果存在一个数 x,使得 nums 中恰好有 x 个元素 大于或者等于 x ,那么就称 nums 是一个 特殊数组 ,而 x 是该数组的 特征值 。注意: x 不必 是 nums 的中的元素。如果数组 nums 是一个 特殊数组 ,请返回它的特征值 x 。否则,返回 -1 。可以证明的是,如果 nums 是特殊数组,那么其特征值 x 是 唯一的 。示例 1:输入:nums = [3,5]输出:2解释:有 2 个元素(3 和 5)大于或等于 2 。
2020-10-04 15:28:00 1440 6
原创 235. 二叉搜索树的最近公共祖先
题目描述:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8输出: 6 解释:
2020-09-27 22:13:56 98
原创 LCP 24. 数字游戏
题目详情:小扣在秋日市集入口处发现了一个数字游戏。主办方共有 N个计数器,计数器编号为 0 ~ N-1。每个计数器上分别显示了一个数字,小扣按计数器编号升序将所显示的数字记于数组 nums。每个计数器上有两个按钮,分别可以实现将显示数字加一或减一。小扣每一次操作可以选择一个计数器,按下加一或减一按钮。主办方请小扣回答出一个长度为 N的数组,第i 个元素(0 <= i < N)表示将 0~i号计数器 初始 所示数字操作成满足所有条件 nums[a]+1 == nums[a+1],(0 <
2020-09-20 09:43:38 608 2
原创 5505. 所有排列中的最大和
题目描述:有一个整数数组 nums ,和一个查询数组 requests ,其中 requests[i] = [starti, endi]。第 i 个查询求 nums[starti] + nums[starti + 1] + ... + nums[endi - 1] + nums[endi] 的结果 ,starti 和 endi 数组索引都是 从 0 开始 的。你可以任意排列 nums 中的数字,请你返回所有查询结果之和的最大值。由于答案可能会很大,请你将它对 1000000007 取余 后返回。示例
2020-09-20 00:30:57 1026
原创 5492. 分割字符串的方案数
题目描述:给你一个二进制串 s (一个只包含0 和 1的字符串),我们可以将 s 分割成 3 个 非空 字符串 s1, s2, s3 (s1 + s2 + s3 = s)。请你返回分割 s的方案数,满足s1,s2 和 s3中字符 ‘1’ 的数目相同。由于答案可能很大,请将它对 10^9 + 7 取余后返回。示例 1:输入:s = "10101"输出:4解释:总共有 4 种方法将 s 分割成含有 '1' 数目相同的三个子字符串。"1|010|1""1|01|01""10|10|1""1
2020-09-06 18:40:57 331
原创 5509. 避免重复字母的最小删除成本
题目描述:给你一个字符串 s 和一个整数数组 cost ,其中 cost[i] 是从 s 中删除字符 i 的代价。返回使字符串任意相邻两个字母不相同的最小删除成本。请注意,删除一个字符后,删除其他字符的成本不会改变。示例 1:输入:s = "abaac", cost = [1,2,3,4,5]输出:3解释:删除字母 "a" 的成本为 3,然后得到 "abac"(字符串中相邻两个字母不相同)。示例 2:输入:s = "abc", cost = [1,2,3]输出:0解释:无需删除任何字
2020-09-06 12:17:36 465
原创 5493. 删除最短的子数组使剩余数组有序
题目描述:给你一个整数数组 arr ,请你删除一个子数组(可以为空),使得 arr 中剩下的元素是 非递减 的。一个子数组指的是原数组中连续的一个子序列。请你返回满足题目要求的最短子数组的长度。示例 1:输入:arr = [1,2,3,10,4,2,3,5]输出:3解释:我们需要删除的最短子数组是 [10,4,2] ,长度为 3 。剩余元素形成非递减数组 [1,2,3,3,5] 。另一个正确的解为删除子数组 [3,10,4] 。示例 2:输入:arr = [5,4,3,2,1]输出:
2020-09-06 10:31:12 555
原创 45. 跳跃游戏 II
题目描述:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明:假设你总是可以到达数组的最后一个位置。解题思路:1)、首先是可以看出每次是寻找i == midMax范围内最大的可以扩展到的位置,
2020-09-03 08:54:48 139
原创 5481. 得到目标数组的最少函数调用次数
题目: 5481. 得到目标数组的最少函数调用次数题目描述:给你一个与 nums 大小相同且初始值全为0 的数组 arr ,请你调用以上函数得到整数数组nums 。请你返回将 arr 变成 nums 的最少函数调用次数。答案保证在 32 位有符号整数以内。示例 1:输入:nums = [1,5]输出:5解释:给第二个数加 1 :[0, 0] 变成 [0, 1] (1 次操作)。将所有数字乘以 2 :[0, 1] -> [0, 2] -> [0, 4] (2 次操作)。给两个
2020-08-23 00:01:10 202
原创 c++ vector queue stack map 使用分析
详细的解说: http://www.cplusplus.com/reference/数据结构的类型分析:queue: 适用于 先进先出的数据操作方式 队列;stack: 适用于 先进后出的数据操作方式 堆栈;map: 适用于 记录 已经出现过的数据信息,遍历速度为O(1) ;key为唯一的 即为主键 , value 不限制 可以有意义也可以无意义;vector: 一般只是用于存储数据,是 queue,stack数据实现的底层;map 的方法:map::atmap::beginmap:
2020-08-22 09:56:31 264
原创 3. 无重复字符的最长子串
题目:3. 无重复字符的最长子串题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke
2020-08-18 22:19:34 143
原创 5490. 吃掉 N 个橘子的最少天数
5490. 吃掉 N 个橘子的最少天数题目描述:普通的递归的思路(动态规划) ** 超时**:)题目描述:厨房里总共有 n 个橘子,你决定每一天选择如下方式之一吃这些橘子:吃掉一个橘子。如果剩余橘子数 n 能被 2 整除,那么你可以吃掉 n/2 个橘子。如果剩余橘子数 n 能被 3 整除,那么你可以吃掉 2*(n/3) 个橘子。每天你只能从以上 3 种方案中选择一种方案。请你返回吃掉所有 n 个橘子的最少天数。示例 1:输入:n = 10输出:4解释:你总共有 10 个橘子。第
2020-08-16 12:34:40 320
原创 1049. 最后一块石头的重量 II
题目描述:有一堆石头,每块石头的重量都是正整数。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y的石头新重量为 y-x。最后,最多只会剩下一块石头。返回此石头最小的可能重量。如果没有石头剩下,就返回 0。示例:输入:[2,7,4,1,8,1]输出:1解释:组合 2 和 4,得到 2,所以数组转
2020-08-14 15:08:59 177
原创 5484. 找出第 N 个二进制字符串中的第 K 位
5484. 找出第 N 个二进制字符串中的第 K 位题目描述:给你两个正整数 n 和 k,二进制字符串 Sn 的形成规则如下:S1 = "0"当i > 1 时,Si = Si-1 + "1" + reverse(invert(Si-1))其中 + 表示串联操作,reverse(x) 返回反转 x 后得到的字符串,而 invert(x) 则会翻转 x 中的每一位(0 变为 1,而 1 变为 0)例如,符合上述描述的序列的前 4 个字符串依次是:S1 = "0"S2 = "011"S3
2020-08-09 17:07:39 325
原创 5469. K 次操作转变字符串
5469. K 次操作转变字符串题目描述:给你两个字符串 s 和t ,你的目标是在k 次操作以内把字符串s转变成t。在第 i 次操作时(1 <= i <= k),你可以选择进行如下操作:选择字符串 s 中满足1 <= j <= s.length且之前未被选过的任意下标 j (下标从 1 开始),并将此位置的字符切换 i 次。不进行任何操作。切换 1 次字符的意思是用字母表中该字母的下一个字母替换它(字母表环状接起来,所以'z' 切换后会变成'a')。请记住任意一个下标j
2020-08-09 07:25:04 382
原创 5470. 平衡括号字符串的最少插入次数
5470. 平衡括号字符串的最少插入次数题目描述:给你一个括号字符串s ,它只包含字符 '(' 和 ')' 。一个括号字符串被称为平衡的当它满足:任何左括号 '('必须对应两个连续的右括号 '))' 。左括号 ‘(’ 必须在对应的连续两个右括号 ‘))’ 之前。比方说"())", "())(())))"和 "(())())))" 都是平衡的, ")()", "()))" 和 "(()))" 都是不平衡的。你可以在任意位置插入字符 ‘(’ 和 ‘)’ 使字符串平衡。请你返回让s 平衡的最少插入次
2020-08-09 00:59:33 802
原创 73. 矩阵置零
73. 矩阵置零题目描述:给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。示例 1:输入: [ [1,1,1], [1,0,1], [1,1,1]]输出: [ [1,0,1], [0,0,0], [1,0,1]]示例 2:输入: [ [0,1,2,0], [3,4,5,2], [1,3,1,5]]输出: [ [0,0,0,0], [0,4,5,0], [0,3,1,0]
2020-08-08 11:40:53 118
原创 1537. 最大得分
1537. 最大得分解题思路:代码实现:复杂度计算:解题思路:例子:nums1 : 2,4,| 5,8, | 10nums2 : 4, | 6,8, | 9上面相等的节点将两个数组拆分成不同的部分第一步: 找到两个数组里面相等的数字,切分成不同的部分,第二步: 找到 nums1与nums2相同的切分的部分,选择较大的部分作为累加到ret(返回的结果里面)相同的切分部位,选取最大的,累计一定可以获得最大得分;代码实现:class Solution {public:
2020-08-04 09:00:19 658
原创 5477. 排布二进制网格的最少交换次数
题目描述:给你一个nx n的二进制网格grid,每一次操作中,你可以选择网格的相邻两行进行交换。一个符合要求的网格需要满足主对角线以上的格子全部都是0。请你返回使网格满足要求的最少操作次数,如果无法使网格符合要求,请你返回-1。主对角线指的是从(1, 1)到(n, n)的这些格子。示例 1:输入:grid = [[0,0,1],[1,1,0],[1,0,0]]输出:3示例 2:输入:grid = [[0,1,1,0],[0,1...
2020-08-02 14:26:49 950
原创 leecode 5457. 和为奇数的子数组数目
题目:leecode 5457. 和为奇数的子数组数目题目描述:给你一个整数数组 arr 。请你返回和为 奇数 的子数组数目。由于答案可能会很大,请你将结果对 10^9 + 7 取余后返回。示例 1:输入:arr = [1,3,5]输出:4解释:所有的子数组为 [[1],[1,3],[1,3,5],[3],[3,5],[5]] 。所有子数组的和为 [1,4,9,3,8,5].奇数和包括 [1,9,3,5] ,所以答案为 4 。示例 2 :输入:arr = [2,4,6]输出:0解
2020-07-26 14:24:40 492
原创 leecode 378. 有序矩阵中第K小的元素
题目:leecode 378. 有序矩阵中第K小的元素题目描述:给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。示例:matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15]],k = 8,返回 13。提示:你可以假设 k 的值永远是有效的,1 ≤ k ≤ n2 。解题思路(本人):思路讲解:归并的思想:首先是
2020-07-25 11:22:18 213
原创 60. 第k个排列
leecode 60. 第k个排列题目描述:样例:解题思路:代码实现:复杂度分析:题目描述:给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”“132”“213”“231”“312”“321”给定 n 和 k,返回第 k 个排列。说明:给定 n 的范围是 [1, 9]。给定 k 的范围是[1, n!]。样例:**样例1:**输入: n = 3, k = 3输出: "213"
2020-07-19 07:14:16 179
原创 leecode 32. 最长有效括号
题目描述:给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: “(()”输出: 2解释: 最长有效括号子串为 “()”示例 2:输入: “)()())”输出: 4解释: 最长有效括号子串为 “()()”解题思路:preLen 数组记录的是当前字符匹配的有效括号子串的左侧下标;例如: “()(()())” 下标: “01234567”解释: 下标为6的最小的有效括号子串左侧下标为5有效括号子串 下标则为 3 ;首先是分别
2020-07-16 01:46:42 223
原创 120. 三角形最小路径和
120. 三角形最小路径和**题目描述:****解题思路:****代码实现:****代码复杂度:**题目描述:给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 :*在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。*例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。解题思
2020-07-14 13:12:49 214
原创 5455. 最多 K 次交换相邻数位后得到的最小整数
题目给你一个字符串 num 和一个整数 k 。其中,num 表示一个很大的整数,字符串中的每个字符依次对应整数上的各个 数位 。你可以交换这个整数相邻数位的数字 最多 k 次。请你返回你能得到的最小整数,并以字符串形式返回。解题思路:以“4321” 为例第一次排序开始 : start = 0 ; num = “4321” , k = 4(最多可以移动的次数) ;“4321” 长度最大 为 4 的字符串 为 “4321”最小字符‘1’的位置 为 3 ; 3 - start = 3 ;第一次
2020-07-05 14:05:33 3594
原创 1477. 找两个和为目标值且不重叠的子数组
1477. 找两个和为目标值且不重叠的子数组题目描述 :样例1:样例2:样例3:样例4:示例 5:提示:解题思路:代码实现:题目描述 :给你一个整数数组 arr 和一个整数值 target 。请你在 arr 中找 两个互不重叠的子数组 且它们的和都等于 target 。可能会有多种方案,请你返回满足要求的两个子数组长度和的 最小值 。请返回满足要求的最小长度和,如果无法找到这样的两个子数组,请返回 -1 。样例1:输入:arr = [3,2,2,4,3], target = 3输出:2解释:
2020-06-18 00:05:20 464
原创 5373. 和为 K 的最少斐波那契数字数目
5373. 和为 K 的最少斐波那契数字数目题目描述:示例 1:示例 2:解题思路解题思路(他人)题目描述:给你数字 k ,请你返回和为 k 的斐波那契数字的最少数目,其中,每个斐波那契数字都可以被使用多次。斐波那契数字定义为:F1 = 1F2 = 1Fn = Fn-1 + Fn-2 , 其中 n > 2 。数据保证对于给定的 k ,一定能找到可行解。示例 1:输入:k =...
2020-04-19 16:50:32 304
原创 leetcode 25. k个一组翻转链表
题目:k个一组翻转链表题目描述:给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返...
2019-05-15 13:03:35 456
原创 leecode 1032. Stream of Characters
1032. 字符流按下述要求实现 StreamChecker 类:StreamChecker(words):构造函数,用给定的字词初始化数据结构。query(letter):如果存在某些 k >= 1,可以用查询的最后 k个字符(按从旧到新顺序,包括刚刚查询的字母)拼写出给定字词表中的某一字词时,返回 true。否则,返回 false。示例:StreamChecker stream...
2019-04-22 14:33:03 217
原创 leecode 5. 最长回文子串 (马拉车算法)
题目:leecode 5. Longest Palindromic Substring题目描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"**注意: "aba" 也是一个有效答案。**示例 2:输入: "cbbd"输出: "bb"可以参考博客https://blog.csdn...
2019-04-12 00:56:49 328
原创 leecode 1022. Sum of Root To Leaf Binary Numbers
题目:Sum of Root To Leaf Binary Numbers题目描述:Given a binary tree, each node has value 0 or 1. Each root-to-leaf path represents a binary number starting with the most significant bit. For example, if...
2019-04-07 15:13:33 263
omw-1.4.zip
2022-07-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人