01 2024 档案
摘要:目录基础知识ASCII码UnicodeUnicode的问题utf8GB2312是什么 基础知识 计算机中储存的信息都是用二进制数表示的;而我们在屏幕上看到的英文、汉字等字符是二进制数转换之后的结果。 通俗的说,按照何种规则将字符存储在计算机中,如'a'用什么表示,称为"编码";反之,将存储在计算机中
阅读全文
摘要:目录感悟 kmp已经整了很多次了,从一开始的不懂到之前一次的似懂非懂,这次再刷字符串算法,一定搞懂 寄,又有点糊里糊涂的 感悟 有点晕,next数组和整体的顺序上已经理解了 存在的问题 用next数组查找的时候要用while循环去查找,因为如果用if来查找,匹配到本次不一样,回退后仍然可能不一样所以
阅读全文
摘要:目录110平衡二叉树257二叉树的所有路径null 前面一些简单题就没放上来,放的都是一开始没思路的 110平衡二叉树 显然这题不能单纯的返回true false 还需要把这一层的高度接住 所以用-1作为标识符,如果=-1说明下层已经有不平衡了,那么都返回-1 否则就返回这棵树的高度 class S
阅读全文
摘要:目录739每日温度496下一个更大元素503下一个更大元素ii接雨水 739每日温度 单调栈模板题 class Solution { public: vector<int> dailyTemperatures(vector<int>& temperatures) { int n=temperatur
阅读全文
摘要:目录函数默认值可变参数库函数efun模拟库函数sefun局部函数lfun系统方法apply简单示例环境(environment)和内容物(inventory)相关函数this_object()environment()all_inventory()deep_inventory()first_inve
阅读全文
摘要:目录895最大频率栈优化版本v1优化版本v2看题解了884846一手顺子 895最大频率栈 复杂度爆了 简述一下思路: 用栈来存入栈元素,用哈希表来存出现次数,用一个frequency来记录最大出现次数 遍历栈,将栈顶元素放到另一个临时栈中,如果栈顶元素的出现次数=frequency,那么说明是最大
阅读全文
摘要:目录数据类型string类型取子串object创建对象的属性和方法销毁mapping创建添加键值对获取检查键是否存在删除元素遍历buffer运算符没有的运算符分支语句switch循环语句foreach 数据类型 string类型 直接当成cpp的string类 但是取子串有所不同 str[n1..n
阅读全文
摘要:目录115不同的子序列583. 两个字符串的删除操作编辑距离 115不同的子序列 dp数组的含义:dp[i][j]以 i-1结尾的s中包含有多少个以j-1为结尾的t dp初始化:dp[0][0]空字符串中有多少个空字符串,显然1个 dp[i][0]以i-1为结尾的s中包含有多少个空字符串,也是1个
阅读全文
摘要:目录1035不相交的线53最大子数组和392判断子序列 1035不相交的线 弄清楚在求什么,实际上是在求最长公共子序列 class Solution { public: int maxUncrossedLines(vector<int>& nums1, vector<int>& nums2) { i
阅读全文
摘要:目录300最长递增子序列674最长连续递增序列718最长重复子数组1143最长公共子序列 300最长递增子序列 递推公式的含义,为了从dp[j]中取出符合要求的最长的子序列 class Solution { public: int lengthOfLIS(vector<int>& nums) { /
阅读全文
摘要:目录打家劫舍 打家劫舍 第一题应该不难想 class Solution { public: int rob(vector<int>& nums) { //dp含义,偷到第n号房间最多能偷多少 int n=nums.size(); if(n==1) { return nums[0]; } vector
阅读全文
摘要:目录279完全平方数139单词拆分null 279完全平方数 对于遍历顺序,因为数字可以重复出现所以j从小到大 对于初始化我们要求最小值所以除了dp[0]=0,其他的都是一个大值 class Solution { public: //dp[j]何为j的完全平方数的最小数量 int numSquare
阅读全文
摘要:目录377 组合总和 Ⅳ进阶版爬楼梯322零钱兑换 377 组合总和 Ⅳ class Solution { public: int combinationSum4(vector<int>& nums, int target) { int n=nums.size(); vector<int>dp(ta
阅读全文
摘要:目录474完全背包模板题518零钱兑换 474 本地的dp数组由于需要考虑0和1两个元素,所以多了一维,是一个三维的dp数组,然后再使用滚动数组降至2维 递推公式: dp[j][k]=max(dp[j][k],1+dp[j-num0][k-num1]); class Solution { publi
阅读全文
摘要:目录链表相交 链表相交 具体思路: 如果链表相交,那么后续的长度肯定是一样的,所以直接从后续长度一样的地方开始判断两个链表是否相等 class Solution { public: ListNode *getIntersectionNode(ListNode *headA, ListNode *he
阅读全文
摘要:目录01背包二维数组滚动数组416分割等和子集1049最后一块石头的重量494目标和 01背包 二维数组 注意: 初始化 遍历顺序 //二维dp数组实现 #include <bits/stdc++.h> using namespace std; int n, bagweight;// bagweig
阅读全文
摘要:目录tcpdump核心参数详解tcpdump的输出理解输出结构flag标识符常规过滤规则基于IP地址过滤基于网段过滤基于端口过滤基于协议进行过滤可选参数解析不解析域名提升速度结果输出到文件从文件中读取数据指定抓取个数指定设备口过滤规则组合 tcpdump是linux下的一个命令行抓包工具 wires
阅读全文
摘要:目录63不同路径2343整数拆分96 63不同路径2 遇到障碍,说明该点无法到达,那么dp[i][j]=0 class Solution { public: int slnA(vector<vector<int>>& obstacleGrid) { int m=obstacleGrid.size()
阅读全文
摘要:目录动规基础509斐波那契数列746使用最小花费爬楼梯62不同路径 写在前面,第二次刷动规,上次就有点没弄懂这次一定拿下了 动规基础 铭记动规五部曲: 确定dp数组(dp table)以及下标的含义 确定递推公式 dp数组如何初始化 确定遍历顺序 举例推导dp数组 509斐波那契数列 class S
阅读全文
摘要:目录 参考了smallchat的思路,准备实现一个使用epoll模型的io ok了,epoll模型没法在windows上面实现,gg 先使用select模型吧 这里是当前使用select模型的代码,后续补充线程池负责处理和客户端的通信 #!/usr/bin/python # -*- coding:
阅读全文
摘要:目录203移除链表元素707设计链表206反转链表两两交换链表中的节点19删除倒数第n个节点 203移除链表元素 用一个pre指针指向head之前,然后检测pre->next是否是目标元素 循环终止是pre->next为空 class Solution { public: ListNode* rem
阅读全文
摘要:目录127WordLadder841钥匙和房间463岛屿的周长 127WordLadder 基本思路bfs搜索最短路径,因为是寻找最短路径,所以bfs搜索到的路径就是最短的 下面是bfs的基本思路 用set存储所有word 用map存储所有遍历过的word 用queue存储路径 从beginword
阅读全文
摘要:目录螺旋矩阵254螺旋矩阵螺旋矩阵3螺旋矩阵4猪猪代码优化代码 螺旋矩阵2 感觉比1好做一点,所以先做这题了 找到循环的思路 把一次循环分成这样来进行 计算好循环次数 n/2 n是奇偶,奇数需要补齐中间值 用一个偏移量,记录好每次循环中的偏移,因为可以发现每次循环左右都会向内缩 做好循环,思路清晰
阅读全文
摘要:目录904水果成篮76最小覆盖字串 904水果成篮 思路: 用一个map来记录slowptr fastptr之间的水果种类和个数,用一个count记录slowptr fastptr之间的水果总数,用typeofFruit记录slowptr fastptr之间的水果种类 fastptr不断向前,cou
阅读全文
摘要:文档来自这里,这文章的年龄都快和我一样了 看到了就顺手写点感悟 前置概念IDL,RPC IDL IDL是interface definition language的缩写,即接口定义语言,描述了接口是如何定义的。写一个IDL 就像是在写一个C的头文件,里面附带了点额外的关键字和结构。 IDL是一种属性
阅读全文
摘要:目录依赖注入是什么代码耦合性过高依赖注入的方式构造函数注入Setter 方法注入(Setter Injection接口注入(Interface Injection): 依赖注入是什么 依赖注入(Dependency Injection),简称DI,类之间的依赖关系由容器来负责。 简单来讲a依赖b,但
阅读全文
摘要:目录130417827最大人工岛 130 和昨天的飞地类似,都是从最边缘的位置进行dfs/bfs,然后判断哪个点没有被遍历过 class Solution { public: int dir[4][2]={1,0,-1,0,0,1,0,-1}; void dfs(vector<vector<char
阅读全文
摘要:目录344反转字符串替换数字反转单词null 344反转字符串 我如果要反转,就是最前面和最后面的字符进行交换, //双指针的应用 class Solution { public: void reverseString(vector<char>& s) { int left=0,right=s.si
阅读全文
摘要:目录UDP报头的结构先进行TCP UDP的对比什么是KCP技术特点ARQ协议的形式即停等式(stop-and-wait)回退n帧(go-back-n)ARQ选择性重传(selective repeat)ARQ UDPrfc文档 UDP报头的结构 文档中有以下几点值得注意: Source Port i
阅读全文
摘要:目录什么是RPCRPC的功能RPC分类RPC实现rpc组件职责 什么是RPC RPC 是远程过程调用(Remote Procedure Call)的缩写形式,RPC 是指计算机 A 上的进程, 调用另外一台计算机 B 上的进程,其中 A 上的调用进程被挂起,而 B 上的被调用进程开始执行, 当值返回
阅读全文
摘要:目录进展更多符号的支持,现在可以进行幂运算和求余运算更多括号的支持持续输入,自动记录上一次的运算结果命令行输入检测优化疑问 今天计算器进展还挺多下面一一列举 进展 更多符号的支持,现在可以进行幂运算和求余运算 --规定符号的优先级,目前是只有加减乘除 OperationLevel = { ['+']
阅读全文
摘要:目录深搜入门leetcode797广搜入门leetcode200 深搜和广搜6951020 深搜入门leetcode797 因为也是二刷,推的比较快 刷题之后的感悟,其实就是先把模板写上去了之后再在里面缝缝补补出题目要求 都比较模板,变通一下思路就能做出来 class Solution { publ
阅读全文
摘要:目录对称和非对称加密对称非对称RSA算法:公钥私钥计算过程使用公钥私钥加解密过程 对称和非对称加密 对称 对称加密很简单,就是明文通过密钥加密成为密文之后,接收方通过同样的密钥(密钥的逆算法)对密钥进行解密 比如说我的明文是1,经过密钥*2计算后变成2那么解密过程就是2/2=1 非对称 非对称加密算
阅读全文
摘要:目录思路最简单的计算器(好像也不简单,因为有*/)224772 困难计算器 可以通解224 227 和上面的题 先把力扣上5道计算器的题目干了,主要使用双栈法 思路 用一个栈ops存操作,用一个栈nums存数字 然后从前往后做,对遍历到的字符做分情况讨论: 空格 : 跳过 ( : 直接加入 ops
阅读全文
摘要:目录27268028397775 移除元素就没啥可说的了,主要是双指针法的使用 27 int removeElement(vector<int>& nums, int val) { int n=nums.size(); int slowptr=0; for(int fastptr=0;fastptr
阅读全文