03 2021 档案

使用Python脚本通过.txt文件批量下载
摘要:我的使用情景: 因为要从官网上下载CNF文件做测试,但是官网里每一个URL对应一个CNF文件,总共400个文件,肯定不能手动下载。 步骤: 1、首先将所有URL保存到一个.txt内,如图所示。 2、python代码如下 # -- coding:UTF-8 --<code> import reques 阅读全文

posted @ 2021-03-29 14:00 QzZq 阅读(3446) 评论(0) 推荐(0)

最小的 k 个数
摘要:输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例 1: 输入:arr = [3,2,1], k = 2 输出:[1,2] 或者 [2,1] 示例 2: 输入:arr = [0,1,2,1], k = 1 输 阅读全文

posted @ 2021-03-10 11:13 QzZq 阅读(90) 评论(0) 推荐(0)

复制带随机指针的链表
摘要:给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中 阅读全文

posted @ 2021-03-09 20:54 QzZq 阅读(113) 评论(0) 推荐(0)

扁平化多级双向链表
摘要:多级双向链表中,除了指向下一个节点和前一个节点指针之外,它还有一个子链表指针,可能指向单独的双向链表。这些子列表也可能会有一个或多个自己的子项,依此类推,生成多级数据结构,如下面的示例所示。 给你位于列表第一级的头节点,请你扁平化列表,使所有结点出现在单级双链表中。 #include <iostre 阅读全文

posted @ 2021-03-09 17:27 QzZq 阅读(65) 评论(0) 推荐(0)

合并两个有序链表
摘要:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 #include <iostream> using namespace std; struct ListNode { int val; ListNode *next; ListNode() : val( 阅读全文

posted @ 2021-03-09 15:08 QzZq 阅读(44) 评论(0) 推荐(0)

关于对链表操作的函数形参为const的思考
摘要:tbc 阅读全文

posted @ 2021-03-08 15:21 QzZq 阅读(55) 评论(0) 推荐(0)

奇偶链表
摘要:给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。 示例 1: 输入: 1->2->3->4- 阅读全文

posted @ 2021-03-08 14:27 QzZq 阅读(92) 评论(0) 推荐(0)

删除链表的倒数第N个节点
摘要:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 进阶:你能尝试使用一趟扫描实现吗? #include <unordered_map> using namespace std; struct ListNode { int val; ListNode *next; ListNode( 阅读全文

posted @ 2021-03-08 11:32 QzZq 阅读(63) 评论(0) 推荐(0)

相交链表
摘要:编写一个程序,找到两个单链表相交的起始节点。 1、双指针 #include <unordered_map> using namespace std; struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(n 阅读全文

posted @ 2021-03-08 10:51 QzZq 阅读(65) 评论(0) 推荐(0)

环形链表 II
摘要:给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。 说明:不 阅读全文

posted @ 2021-03-08 10:14 QzZq 阅读(58) 评论(0) 推荐(0)

环形链表
摘要:给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅 阅读全文

posted @ 2021-03-08 09:51 QzZq 阅读(45) 评论(0) 推荐(0)

设计链表
摘要:设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。 在链表类中实现 阅读全文

posted @ 2021-03-07 21:27 QzZq 阅读(72) 评论(0) 推荐(0)

有效括号
摘要:给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。 示例 1: 输入:s = "()"输出:true示例 2: 输入:s = "()[]{}"输出:true #inc 阅读全文

posted @ 2021-03-06 19:09 QzZq 阅读(76) 评论(0) 推荐(0)

3n 块披萨
摘要:给你一个披萨,它由 3n 块不同大小的部分组成,现在你和你的朋友们需要按照如下规则来分披萨: 你挑选 任意 一块披萨。Alice 将会挑选你所选择的披萨逆时针方向的下一块披萨。Bob 将会挑选你所选择的披萨顺时针方向的下一块披萨。重复上述过程直到没有披萨剩下。每一块披萨的大小按顺时针方向由循环数组 阅读全文

posted @ 2021-03-06 16:59 QzZq 阅读(91) 评论(0) 推荐(0)

删除与获得点数
摘要:给定一个整数数组 nums ,你可以对它进行一些操作。 每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除每个等于 nums[i] - 1 或 nums[i] + 1 的元素。 开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。 示例 1: 阅读全文

posted @ 2021-03-05 18:45 QzZq 阅读(152) 评论(0) 推荐(0)

打家劫舍 II
摘要:你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。 给定一个代表每个房屋存放金额的非负整数数组,计算你 在不 阅读全文

posted @ 2021-03-05 17:26 QzZq 阅读(63) 评论(0) 推荐(0)

打家劫舍
摘要:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 示例 阅读全文

posted @ 2021-03-05 16:02 QzZq 阅读(142) 评论(0) 推荐(0)

矩形区域不超过 K 的最大数值和
摘要:给定一个非空二维矩阵 matrix 和一个整数 k,找到这个矩阵内部不大于 k 的最大矩形和。 示例: 输入: matrix = [[1,0,1],[0,-2,3]], k = 2输出: 2 解释: 矩形区域 [[0, 1], [-2, 3]] 的数值和是 2,且 2 是不超过 k 的最大数字(k 阅读全文

posted @ 2021-03-04 21:06 QzZq 阅读(291) 评论(0) 推荐(0)

最大子矩阵
摘要:给定一个正整数、负整数和 0 组成的 N × M 矩阵,编写代码找出元素总和最大的子矩阵。 返回一个数组 [r1, c1, r2, c2],其中 r1, c1 分别代表子矩阵左上角的行号和列号,r2, c2 分别代表右下角的行号和列号。若有多个满足条件的子矩阵,返回任意一个均可。 示例: 输入:[ 阅读全文

posted @ 2021-03-04 18:36 QzZq 阅读(104) 评论(0) 推荐(0)

环形子数组的最大和
摘要:给定一个由整数数组 A 表示的环形数组 C,求 C 的非空子数组的最大可能和。 在此处,环形数组意味着数组的末端将会与开头相连呈环状。(形式上,当0 <= i < A.length 时 C[i] = A[i],且当 i >= 0 时 C[i+A.length] = C[i]) 此外,子数组最多只能包 阅读全文

posted @ 2021-03-04 16:14 QzZq 阅读(202) 评论(0) 推荐(0)

Kanade算法
摘要:对于“最大子序和”与“乘积最大子组数”这类题来说,背后使用的都是相同的思想——Kanade算法: 对于一个给定数组 A,Kadane 算法可以用来找到 A 的最大子段和。这里,我们只考虑非空子段。 Kadane 算法基于动态规划。令 dp[j] 为以 A[j] 结尾的最大子段和。也就是: 那么,以 阅读全文

posted @ 2021-03-04 14:02 QzZq 阅读(1251) 评论(0) 推荐(0)

乘积最大子组数
摘要:给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 示例 1: 输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2: 输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 阅读全文

posted @ 2021-03-04 13:31 QzZq 阅读(123) 评论(0) 推荐(0)

Luby序列
摘要:Luby序列之于SAT求解器的应用,主要在重启策略上: Luby重启定义一个代表冲突数的间隔序列,每当达到序列中规定数量的冲突时,停止当前搜索,重新构造决策树 Luby序列公式如下: Luby序列生成代码如下: /* Finite subsequences of the Luby-sequence: 阅读全文

posted @ 2021-03-04 10:12 QzZq 阅读(409) 评论(0) 推荐(0)

最大子序和
摘要:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例 1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2: 输入:nums = [1]输出:1示例 阅读全文

posted @ 2021-03-02 13:30 QzZq 阅读(55) 评论(0) 推荐(0)

俄罗斯套娃信封问题
摘要:给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h) 出现。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。 请计算最多能有多少个信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。 说明:不允许旋转信封。 示例: 阅读全文

posted @ 2021-03-02 11:19 QzZq 阅读(172) 评论(0) 推荐(0)

最长递增子序列的个数
摘要:给定一个未排序的整数数组,找到最长递增子序列的个数。 示例 1: 输入: [1,3,5,4,7]输出: 2解释: 有两个最长递增子序列,分别是 [1, 3, 4, 7] 和[1, 3, 5, 7]。示例 2: 输入: [2,2,2,2,2]输出: 5解释: 最长递增子序列的长度是1,并且存在5个子序 阅读全文

posted @ 2021-03-02 10:45 QzZq 阅读(126) 评论(0) 推荐(0)

反转链表
摘要:反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题? class Solution { public: ListNode* reverseList(ListNode* he 阅读全文

posted @ 2021-03-01 22:05 QzZq 阅读(57) 评论(0) 推荐(0)

使序列递增的最小交换次数
摘要:我们有两个长度相等且不为空的整型数组 A 和 B 。 我们可以交换 A[i] 和 B[i] 的元素。注意这两个元素在各自的序列中应该处于相同的位置。 在交换过一些元素之后,数组 A 和 B 都应该是严格递增的(数组严格递增的条件仅为A[0] < A[1] < A[2] < ... < A[A.len 阅读全文

posted @ 2021-03-01 21:41 QzZq 阅读(262) 评论(0) 推荐(0)

爬楼梯
摘要:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2: 输入: 3输出: 3解释: 有三种方 阅读全文

posted @ 2021-03-01 11:39 QzZq 阅读(67) 评论(0) 推荐(0)

最长递增子序列
摘要:给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示例 1: 输入:nums = [10,9,2,5,3,7,101,18] 阅读全文

posted @ 2021-03-01 11:20 QzZq 阅读(93) 评论(0) 推荐(0)

导航