二分查找 二分查找算法一、二分查找的框架int binarySearch(int[] nums, int target) { int left = 0, right = ...;while(...) { int mid = (right + left) / 2; if (nums[mid] == target) { ... } else if (nums[mid] & 2022-03-15 算法整理 #算法总结
前缀和/差分 前缀和数组 注意的点 为了省去边界判断,前缀和数组多开辟一个 从1到n class PrefixSum {private: // 前缀和数组 vector<int> prefix; public: /* 输入一个数组,构造前缀和 */ PrefixSum(vector<int> nums) { int n = nums.size(); prefix. 2022-03-15 算法整理 #算法总结
图论 一些题目797. 所有可能的路径难度中等262收藏分享切换为英文接收动态反馈 给你一个有 n 个节点的 有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序) graph[i] 是一个从节点 i 可以访问的所有节点的列表(即从节点 i 到节点 graph[i][j]存在一条有向边)。 示例 1: 输入:graph = [[1,2],[3],[3],[]] 2022-03-15 算法整理 #算法总结
位运算 位操作技巧位运算概览 符号 描述 运算规则 & 与 两个位都为1时,结果才为1 | 或 两个位都为0时,结果才为0 ^ 异或 两个位相同为0,相异为1 ~ 取反 0变1,1变0 << 左移 各二进位全部左移若干位,高位丢弃,低位补0 >> 右移 各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位 2022-03-15 算法整理 #算法总结
滑动窗口 滑动窗口模板框架 /* 滑动窗口算法框架 */void slidingWindow(string s, string t) { unordered_map<char, int> need, window; for (char c : t) need[c]++; int left = 0, right = 0; int valid = 0; whi 2022-03-15 算法整理 #算法总结
回溯 回溯回溯模板void backtracking(参数) { if (终止条件) { 存放结果; return; } for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) { 处理节点; backtracking(路径,选择列表); // 递归 回溯,撤销处理结果 }} 1. 组合问题 组 2022-03-15 算法整理 #算法总结
Leetcode高频 Leetcode-retag重新分类 Leetcode 高频题 2021 版 题目按照面试频率降序排列 增加难度分类,适合从简单开始学习 增加细分类别,例如单调栈,前缀树等,一道题目可能会有多个类别 目录 𐀴 链表 单链表 双链表 𐀴 树 遍历 构造 路径 | 深度 | 翻转 二叉搜索树 前缀树 线段树 𐀴 栈 基础 单调栈 𐀴 堆 基础 𐀴 二分查找 𐀴 位 2022-03-14 #leetcode
QT编写串口助手 .pro文件中 QT += serialport serial.h: 1 #ifndef SERIAL_H 2 #define SERIAL_H 3 4 #include <QMainWindow> 5 6 /*-------user--------------------*/ 7 //port 8 #include <QSerialPort> 9 //debug10 2021-12-02