平衡树 不同平衡树 有许多不同的平衡树 如:替罪羊树,AVI,红黑树,Treap,FHQ-Treap (无旋Treap),Splay,SBT 等 其中比较重点的是上述后四种 目前只学习了 Splay 和 Treap 能够较为熟练的打出来的只有 Splay 有关 Splay 代码 (luoguP3396) : #include<bits/stdc++.h> using namespace std; i
LeetCode面试题 04.06. 后继者 求中序遍历中给定节点的后一个节点,分右子树中/父节点中 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution:
给定一个字符串 s,统计并返回具有相同数量 0 和 1 的非空(连续)子字符串的数量,并且这些子字符串中的所有 0 和所有 1 都是成组连续的。 重复出现(不同位置)的子串也要统计它们出现的次数。 示例: 输入:s = "00110011" 输出:6 解释:6 个子串满足具有相同数量的连续 1 和 0 :"0011"、"01"、"
LeetCode99 恢复二叉搜索树 Morris中序遍历 + 记录逆序对 Morris遍历 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right cl
首先导入库 import pandas as pd 1. 读取纯文本文件 1.1 pandas读取文件csv文件: csv = "xxx/xxx/xxx.csv" pd.read_csv(csv) - 基础操作: df.head() ##查看前面五行数据 df.shape ##查看数据形状(行数,列数) df.columns ##查看列名列表 df.index ##查看索引列 df.dtypes ##查看
2.两数相加 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1: 输入:l1 = [2,4,3], l2 = [5,6
贪心 + 分治 + 位运算 从高到低逐位考虑,分两种情况: 1、目前集合中当前位只有0或只有1,此位贡献为0 2、目前集合中当前位(第k位)同时存在0和1,那么此位对这个集合的贡献为 1 << k,然后以0和1划分当前集合的子集,分别求子集的最小贡献 #include<bits/stdc++.h> using namespace std;
1.查询数据库大小 SELECT DB_NAME(database_id) AS '数据库名', [Name] AS '逻辑库名', [Physical_Name] AS '物理文件', ((size * 8) / 1024) AS '文件大小(MB)', [differential_base_time] AS '基准时间' FROM sys.master_fil
LeetCode123 买卖股票的最佳时机 III 最多可以完成两笔交易,即分两段做LeetCode121,处理前缀后缀之后,遍历每一个分段节点所带来的收益取最大 class Solution: def maxProfit(self, prices: List[int]) -> int: pre_gains, suf_gains, pre_min, suf_max, l = [0], [0],
思路 考虑处理出原 dag 图的两两点之间能否可达(可用 Floyd),然后题中是求最大的若干点之间没有两两可达的点对。 那么建出二分图之后,发现如果出现一对匹配,那么相当于这两个点里面有一个不能选了,所以答案就是总的点数-最大匹配。 代码 #include<bits/stdc++.h> using namespace std;t
思路 会发现要求一个最大的完全子图(每个点两两之间有连边),所以考虑把建出原图的反图,然后每个点两两之间有连边就转化成为了每个点两两之间没有连边,也就是二分图的最大独立子集,是需要用总点数-最大匹配即可。 代码 #include<bits/stdc++.h> using namespace std;typedef long long l
link。 点 \(A\) 与 \((0,0)\),\(B\) 共线的充要条件是 \(\frac{y_A}{x_A}=\frac{y_B}{x_B}\),即 \(k_{OA}=k_{OB}\)。又考虑到题目提出刻画斜率相等双点间的关系,所以不妨把所有斜率相同的点看作一个。再考虑刻画点的移动,由于与共线的点是移动后两者之间的哪一者无妨,所以我们可以在
题目描述 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例1 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 实例2 输入:head = [1,2] 输出:[2,1] 示例3 输入:head = [] 输出:[] 提示 链表中节点的数目范围是 [0, 5000] -5000 <= Node.val <= 5000 思路 没遍历一个节点
分组背包 输出方案可以跟最短路输出路径进行类比 背包DP输出方案—拓扑图分析 #include<bits/stdc++.h> using namespace std; #define fr first #define se second typedef pair<int, int> PII; typedef long long LL; typedef unsigned long long ULL; const int INF = 0X3
1.安装 pip 1.1 pip在安装python时勾选pip工具默认安装 如安装Python 3.9.7 2.检查pip是否已经安装 2.1打开cmd输入pip如果成功则出现 2.2如果出现'pip' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 打开系统环境变量,在系统环境变量中添
看完感觉跟46-全排列很像,仍旧是回溯法,但是怎么做到四选二、四选三呢 官方题解 题解1,迭代枚举 利用二进制位来实现挑选的思路是没有想到的 class Solution { public: // 为什么变量声明这里要写到外面来 vector<int> t;// 临时数组 vector<vector<int>> subsets(vec
一、接口测试用例 1.1、测试用例设计方法 1)等价类 2)边界值 3)因果图 4)判定表 5)正交试验(筛选时) 6)流程覆盖 7)错误推测 1.2、接口测试用例怎么写 1.2.1、功能(自动化测试关注) 1、有效
Link \(n^2\) 暴力很好想,但我们先找到一种常数小的 \(n^2\) 做法。 考虑组合意义,这种 \(a_i , b_i\) 的形式很容易让人联想到网格图的路径方案数。 于是令 \(f_{a_i,b_i} = 1\) 为初始状态,\(f_{i,j} = f_{i + 1 , j} + f_{i , j + 1}\)。 那么 \(f_{0,k}\) 就是我们的答案。由于只
Shopping in Mars (25) Link 这道题还可以用前缀和+二分做。 #include <iostream> #include <cstdio> #include <cstdlib> #include <algorithm> #include <string> #include <string.h> #include <vector> using namespace std; int n,m; int d[
视频链接:https://www.bilibili.com/video/BV1iG411s7iX/ //Luogu P1344 [USACO4.4]追查坏牛奶Pollutant Control #include <iostream> #include <cstring> #include <algorithm> #include <queue> #define N 10010 #define M 200010 using namespace std; i
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible&quo
链表中的任意节点包括两部分,数据部分和链接到下一个节点的部分。 # 定义节点类 class Node(object): def __init__(self, data = None, next = None): self.data = data self.next = next class LinkedList(object): def __init__(self):
问题 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 实现 class Solution { public List<String> generateParenthesis(int n) { List<String> ans = new ArrayList<String>(); backtrack(ans, new StringBuilde
线性表的链式存储结构——静态链表,创建,打印链表,增加删除结点 目录线性表的链式存储结构——静态链表,创建,打印链表,增加删除结点1. 静态链表的存储结构2 操作静态链表3 创建静态链表4 打印静态链表 1. 静态链表的存储结构 typedef struct { ElemType Data; int Cur;
'1 ex exchange to how many curFunction GetExchangeRate(ex As String, cur As String) As String On Error GoTo Err Dim url, oHttp, responseText, result, exchangeRate As String If ex = "" Then ex = "USD" If cur = "