![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机基础
文章平均质量分 58
Three_ST
学习者
展开
-
leetcode-42. 接雨水(双指针,前缀)
【代码】leetcode-42. 接雨水(双指针,前缀)原创 2024-05-16 08:00:00 · 207 阅读 · 0 评论 -
LeetCode-217存在重复的元素
217 存在重复的元素给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。JavaScript的 Array 对象是用于构造数组的全局对象,数组是类似于列表的高阶对象。数组扁平化var flatten = function(arr){ return arr.reduce((acc,val)=>acc.concat(Array.isArray(val)?flatten(val):val),原创 2024-04-04 18:44:01 · 299 阅读 · 0 评论 -
编译原理学习之-一个简单的语法制导翻译器
第二章 一个简单的语法制导翻译器将具有代表性的程序设计语言语句翻译为三地址码(一种中间表示形式),本章的重点是编译器的前端,特别是词法分析,语法分析和中间代码生产。建立一个中缀算术表达式转换为后缀表达式的语法制导翻译器{ int i; int j; float[100] a;float v;float x; while(true){ do j = i+1;while(a[i]<v); do j = j-1;while(a[j]>v); if(i>原创 2024-03-15 23:01:17 · 868 阅读 · 1 评论 -
linux基础知识之文件系统 df/du/fsck/dump2fs
a 显示所有文件系统信息,包括特殊文件系统,如/proc,/sysfs。-a 显示每个子文件等磁盘占用量,默认只统计子目录的磁盘占用量。-y 自动修复 和-a作用一致,不过有些文件系统只支持-y。-h 使用习惯单位显示磁盘占用量,如KB,MB或者GB。-h 使用习惯单位显示容量,如KB,MB和GB等。-s 统计总占用量,不列出子目录和文件占用量。-a 不用显示用户提示,自动修复文件系统。fsck [选项] [分区设备文件名]dumpe2fs [分区设备文件名]du [选项][目录或者文件名]原创 2023-10-05 22:08:09 · 136 阅读 · 0 评论 -
linux常用命令之设定acl相关命令 setfacl/getfacl/chattr
add groupmake directoryset aclswitch userdeletedelete user/group acl原创 2023-10-05 20:51:15 · 159 阅读 · 0 评论 -
linux常用命令-查看CPU,查看日志
查看CPU信息CPU型号cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c4 Intel® Xeon® Gold 6148 CPU @ 2.40GHzCPU物理内核数cat /proc/cpuinfo| grep “physical id”| sort| uniq| wc -l2服务有关查看服务日志sudo journalctl -u your.servicenamesudo journalctl -u y原创 2023-06-07 23:26:01 · 693 阅读 · 0 评论 -
Windows编程基础之写一个西门子S7-1200的通信程序
接下来,我们使用Read方法从DB1.DBD0地址读取一个Double Word值,并根据返回的结果确定是否读取成功。如果成功,我们将读取的值输出到控制台上。在此示例中,我们首先实例化了一个Plc对象并传递了必要的参数来指定PLC类型、IP地址、机架号和插槽号。然后,我们通过调用Open方法打开了PLC连接。请注意,这只是一个简单的示例代码,您需要根据您的具体需求进行更改和调整。然后,我们将一个整数值写入到DB1.DBD4地址,再次通过调用Close方法关闭PLC连接。原创 2023-03-15 22:11:54 · 504 阅读 · 0 评论 -
linux学习之基础-文件压缩与解压缩命令
gzipgzip filegunzip filetar -cvf filename/foldername -> .tartar -zcvf filename/foldername -> .tar.gztar -zxvf compress filename(.tar.gz) -> filename/foldernamezip -r compress filename file/folder nameunzip compress file/folder nameb原创 2023-01-30 11:12:16 · 520 阅读 · 0 评论 -
数据结构与算法之LeetCode-1417. 重新格式化字符串
- 模拟求解,按照题目要求拆分- 遍历每个字符,判断类型,放入对应数组中原创 2022-12-31 21:04:35 · 98 阅读 · 0 评论 -
数据结构与算法之LeetCode-1460-通过翻转子数组使两个数组相等
排序两个数组原创 2022-12-30 21:13:41 · 137 阅读 · 1 评论 -
数据结构与算法之LeetCode-1289-下降路径最小和II 使用 动态规划
动态规划,建立并简化状态转移方程原创 2022-12-21 23:41:19 · 120 阅读 · 0 评论 -
数据结构与算法之Leetcode-931. 下降路径最小和 - 力扣(动态规划)
找出最短路径假定上一层的位置为[row,col]使用动态规划计算每一层的路径和,从底往上,或者自顶向下原创 2022-12-14 21:10:25 · 258 阅读 · 0 评论 -
数据结构与算法之LeetCode-120.三角形最小路径和(使用动态规划)
- 状态转移方程 - 顶点,i=0,j=0 `dp[0][0]=triangle[0][0]` - 左边界,j=0 `dp[i][j]=dp[i-1][j]+triangle[i][j]` - 右边界,j=i `dp[i][j]=dp[i-1][j-1]+triangle[i][j]` - 中间点,`dp[i][j] = min(dp[i-1][j-1],dp[i-1][j])+triangle[i][j]`原创 2022-11-28 22:10:32 · 268 阅读 · 0 评论 -
数据结构与算法之LeetCode-64-最小路径和(动态规划求解)
- 假设dp为 m*n的矩阵,其中`dp[i][j]`的值代表直走到(i,j)的最小路径和- 状态转移方程(走到单元格(i,j)的最小路径和 = “从左侧(i-1,j)和上方)(i,j-1)移动到下一个位置,因此只需要考虑上边界和左边界,以及两个最小路径和中的较小值“+当前单元格的`grid[i][j]`) - 左边和上边都不是边界: - 只有左边是矩阵边界:只能从上面移 - 只有上面是矩形边界: - 上边和左边都是矩阵边界,原创 2022-11-27 21:52:43 · 437 阅读 · 0 评论 -
数据结构与算法之leetcode-63. 不同路径 II - 力扣(动态规划)
动态规划原创 2022-11-16 22:34:32 · 305 阅读 · 0 评论 -
数据结构与算法之LeetCode-62.不同的路径(动态规划+排列组合)
动态规划f(i,j)=f(i−1,j)+f(i,j−1)从左上角到右下角的过程中,我们需要移动 m+n-2次,其中有 m-1次向下移动,n-1次向右移动。因此路径的总数,就等于从 m+n-2 次移动中选择 m-1次向下移动的方案数原创 2022-11-15 22:25:43 · 227 阅读 · 0 评论 -
数据结构与算法之LeetCode-640. 求解方程
- factor表示变量的系数,val表示常量值- 使用系数sign1表示默认系数,解析到等号时,说明解析到等式右边的项,令sign1 = -1- 使用sign2表示项的符号,初识时sign2 = sign1 。解析到‘+’,‘-’,要么相应的更改sign2,使用number记录数字,valid表示number是否有效- 如果解析到变量,那么相应的更改factor- 如果解析到的是常量项,那么相应的更改val- 如果factor=0,说明变量x对方程无影响,然后判断val=0 是否成立,成立则说明原创 2022-10-31 23:05:17 · 107 阅读 · 0 评论 -
数据结构与算法之-641. 设计循环双端队列 - 力扣(LeetCode)
循环队列原创 2022-10-27 23:03:35 · 224 阅读 · 0 评论 -
数据结构与算法之LeetCode-652. 寻找重复的子树 - 力扣(1024程序员节)
寻找重复的字数原创 2022-10-24 21:46:14 · 250 阅读 · 0 评论 -
数据结构与算法之LeetCode-828. 统计子串中的唯一字符 - 力扣
设字符c位于[left, right]中的idx且c唯一, 那么c出现的次数为它左边包含它的个数乘它右边包含它的个数 [即(idx + 1 - left) * (right + 1 - left)]。所以我们只需要统计每个字符出现的所有间隔坐标即可。原创 2022-10-21 21:53:11 · 315 阅读 · 0 评论 -
数据结构与算法之二分查找
在循环条件为 l原创 2022-09-28 21:17:21 · 887 阅读 · 0 评论 -
数据结构与算法之LeetCode-655. 输出二叉树 - 力扣(LeetCode)
二叉树,dfs,bfs原创 2022-09-24 22:10:02 · 829 阅读 · 0 评论 -
数据结构与算法之LeetCode-1224. 最大相等频率 - 力扣(LeetCode)
使用哈希表map记录某个数字x出现的次数map[x],freq记录出现次数为f的数的数目为freq[f],maxFreq表示最大出现次数。以某个字符nums[i]结尾的数组前缀合要求的充要条件为满足以下三个条件之一:- 最大出现次数maxFreq = 1,那么所有数的出现次数都是一次,随意删除一个数即可符合要求- 所有数的出现次数都是maxFreq或者maxFreq-1,并且最大出现次数的数只有一个,删除一个最大出现次数的数,那么所有数的出现次数都是maxFreq-1- 除开一个数,其他所有数的出现原创 2022-09-20 21:30:10 · 706 阅读 · 0 评论 -
数据结构与算法之LeetCode-652. 寻找重复的子树
二叉树,深度遍历,保留每个父节点的遍历结果原创 2022-09-05 23:05:15 · 785 阅读 · 0 评论 -
数据结构与算法之剑指 Offer II 041. 滑动窗口的平均值
剑指OfferII041.滑动窗口的平均值原创 2022-07-16 21:03:30 · 168 阅读 · 0 评论 -
数据结构与算法之LeetCode-剑指 Offer II 091. 粉刷房子-动态规划-DP
剑指 Offer II 091. 粉刷房子 - 力扣(LeetCode)当前刷红,上一个只能是蓝或绿,所以由上一次蓝绿最小值加上当前红的代价得到。参考链接剑指 Offer II 091. 粉刷房子 - 力扣(LeetCode)粉刷房子 - 粉刷房子 - 力扣(LeetCode)【宫水三叶】简单状态机 DP 运用题 - 粉刷房子 - 力扣(LeetCode)[Python/Java/TypeScript/Go] 动态规划 - 粉刷房子 - 力扣(LeetCode)...原创 2022-06-25 23:38:46 · 299 阅读 · 0 评论 -
数据结构与算法之LeetCode-513. 找树左下角的值 - 力扣(DFS,BFS)
513. 找树左下角的值 - 力扣(LeetCode)数据结构与算法,DFS,BFS,深度优先搜索,广度优先搜索BFS遍历每一层节点,遍历每一个节点时,需要先把它的非空右子节点放入队列,然后再把非空左子节点放入队列,这样才能保证从右到左遍历每一层节点BFS所遍历的最后一个节点的值就是最底层最左边的节点参考链接513. 找树左下角的值 - 力扣(LeetCode)找树左下角的值 - 找树左下角的值 - 力扣(LeetCode)......原创 2022-06-23 23:10:55 · 199 阅读 · 0 评论 -
数据结构与算法-890. 查找和替换模式 - 力扣(LeetCode)字符串匹配
- 判断字符出现的位置,如果重复出现只取第一次出现的位置- 分割words,按照相同规则取值,然后判断是否成立原创 2022-06-12 22:50:16 · 778 阅读 · 0 评论 -
Linux基础知识之Vim文本编辑器二之常用操作
欢迎查看和关注 一个开源的个人学习计算机科学知识成长记录(前后端,数据结构与算法)导入命令执行结果:r !command 1 am very happya kkkkk kkkkaaaaaaa, 2 hjjjiiAiiiij ihshs 3 4 RjjjiIAjjdkdlglg;g;gjfnf mr mr mr nn 5 OO o OOo OO OO OOo OO OO 6 7 KLK lk lk lk lk lk lkl KLKl 8 ksksk原创 2022-05-06 21:40:44 · 402 阅读 · 0 评论 -
linux基础知识之vim基础操作命令(定位,删除,复制,粘贴,替换,搜索,保存,退出)
欢迎查看和关注一个开源的个人学习计算机科学知识成长记录(前后端,数据结构与算法)工作模型enter filevi filenamevim filenameexit:wq:qinput modea (input after cursor, 在光标所在字符后插入 )A (input in the end of pointer 在光标所在行尾插入)i (input before pointer 在光标所在字符前插入)I (insert in the st原创 2022-04-24 22:52:57 · 1202 阅读 · 0 评论 -
数据结构与算法之LeetCode-824. 山羊拉丁文
824. 山羊拉丁文 - 力扣(LeetCode) (leetcode-cn.com)按照题目解释 判断是否是元音字母非元音字母倒序 放在最后添加 ma添加 n个 a/** * @param {string} sentence * @return {string} */var toGoatLatin = function(sentence) { let vowels = ['a','e','i','o','u']; let res = []; let temp原创 2022-04-21 22:23:36 · 1134 阅读 · 0 评论 -
数据结构与算法之LeetCode-201-数字范围按位与
201. 数字范围按位与 - 力扣(LeetCode) (leetcode-cn.com)位运算/** * @param {number} left * @param {number} right * @return {number} */var rangeBitwiseAnd = function(left, right) { while(right>left){ right&=(right-1) } return right;};原创 2022-02-13 11:37:17 · 366 阅读 · 0 评论 -
数据结构算法之二分搜索查找多位矩阵中的数据
74. 搜索二维矩阵在一个m*n维矩阵中搜索某一个给定值,如果存在则返回true,如果不存在则返回 false一次二分法使用解题想法,根据前面 33题的解题思路,使用搜索算法,先计算数组的行数m和n得到起始位 start = 0终止位 end = m*n - 1中间位 mid = start + ((end-start)>>1)判断当前值处于那个区间取出数组的开始和末尾两个数比较中位数与目标值之间的差距(如果处于 start-》mid 区间,处于mid-end区间)逐渐原创 2022-01-05 22:11:40 · 561 阅读 · 0 评论 -
LeetCode-653-两数之和IV(利用中序遍历递归求解)
两数之和 IV - 输入 BST解题思路:受到BST使用中序遍历后会出现从小到大依次排序,同时利用这个特性,可以使用for循环,再利用数组的特性找到某个数值(target-currentValue)是否存在的下标同时不能出现重复原创 2021-12-13 21:10:46 · 3485 阅读 · 0 评论 -
计算机基础知识学习-TCP通信滑动窗口(二)-silly window
Silly Window SyndromeSilly Window Syndrome翻译成中文就是“糊涂窗口综合症”。正如你上面看到的一样,如果我们的接收方太忙了,来不及取走Receive Windows里的数据,那么,就会导致发送方越来越小。到最后,如果接收方腾出几个字节并告诉发送方现在有几个字节的window,而我们的发送方会义无反顾地发送这几个字节。要知道,我们的TCP+IP头有40个字节,为了几个字节,要达上这么大的开销,这太不经济了。另外,你需要知道网络上有个MTU,对于以太网来说,MTU是原创 2021-05-31 20:34:07 · 234 阅读 · 0 评论 -
计算机基础知识之Unicode-彻底弄懂 Unicode 编码
彻底弄懂 Unicode 编码前言为什么要有编码?大家需要明确的是在计算机里所有的数据都是字节的形式存储、处理的。我们需要这些字节来表示计算机里的信息。但是这些字节本身又是没有任何意义的,所以我们需要对这些字节赋予实际的意义。所以才会制定各种编码标准。编码模型首先需要明确的是存在两种编码模型A:简单字符集在这种编码模型里,一个字符集定义了这个字符集里包含什么字符,同时把每个字符如何对应成计算机里的比特也进行了定义。例如 ASCII,在 ASCII 里直接定义了 A -> 0100 000转载 2021-05-19 22:49:26 · 11497 阅读 · 2 评论 -
数据结构与算法之LRU缓存算法
LRU是什么LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。LRU作为页面置换算法,常见的页面置换算法如下常见的页面置换算法有如下几种:LRU 最近最久未使用FIFO 先进先出置换算法 类似队列OPT 最佳置换算法 (理想中存在的)NRU Clock置换算法LFU 最少使用置换算法PBA 页面缓冲算法最常见的实现是使用一个链表保存缓存数据,详细算法实现如下新数据原创 2021-05-15 18:18:36 · 546 阅读 · 0 评论 -
计算机基础知识学习之网络常用术语(累计积分 MTU MSS NAT)
累计积分面试问题:TCP的可靠性,超时重传怎么实现,M1,M2,M3,M4,M5,丢失M2;怎么重传M2?为什么不用重传M4,M5?因为每个TCP报文被发送时,都会设置一个重传定时器,若定时期到了还没收到ack包,则应重传。为什么不用重传M4,M5?则可由此文回答:因为采用了累积确认。有例如下:Server 发送80个字节 Part1,seq = 1Server 发送120个字节Part2,Seq = 81Server发送160个字节Part3,Seq = 201,此包由于其他原因丢失Clien原创 2021-04-28 20:24:36 · 434 阅读 · 0 评论 -
计算机网络基础知识学习之-滑动窗口基础知识与拥塞控制cubic算法
算法实例1208. 尽可能使字符串相等给你两个长度相同的字符串,s 和 t。将 s 中的第 i 个字符变到 t 中的第 i 个字符需要 |s[i] - t[i]| 的开销(开销可能为 0),也就是两个字符的 ASCII 码值的差的绝对值。用于变更字符串的最大预算是 maxCost。在转化字符串时,总开销应当小于等于该预算,这也意味着字符串的转化可能是不完全的。如果你可以将 s 的子字符串转化为它在 t 中对应的子字符串,则返回可以转化的最大长度。如果 s 中没有子字符串可以转化成 t 中对应的子原创 2021-04-27 21:49:40 · 241 阅读 · 0 评论 -
计算机基础知识学习-TCP通信滑动窗口(Sliding Window)
滑动窗口算法(Sliding window algorithm)Sliding window algorithm is used to perform required operation on specific window size of given large buffer or array.滑动窗口算法是在给定特定窗口大小的数组或字符串上执行要求的操作。This technique shows how a nested for loop in few problems can be co原创 2021-03-28 23:33:03 · 1081 阅读 · 0 评论