logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux:基础IO

本文介绍了Linux基础IO操作,主要包括文件概念和系统文件IO接口。文件作为磁盘存储的基本单位,由文件属性和内容组成,所有操作均由进程发起并由操作系统管理。重点讲解了关键系统调用:open(打开/创建文件)、close(关闭文件)、write(写入数据)、read(读取数据)的使用方法及参数配置,并通过代码示例演示了文件操作的实际应用。文章深入剖析了文件描述符的分配规则和底层实现机制,包括tas

文章图片
#linux#服务器#运维
C++算法:字符串

left和right同时从 i 位置开始,只能得到奇数长度的字符串,所以当遍历完 i 为中心的奇数长度回文子串后,令left=i,right=i+1,继续遍历 i 为中心的偶数长度回文子串。字符串先逆置,创建整型数组tmp记录无进位相乘的结果,可以发现规律,tmp的长度为num1.size()+num2.size()-1,每次无进位相乘的结果放在tmp[i+j],i用来遍历num1,j用来遍历nu

文章图片
#c++#算法#开发语言
C++算法:栈

解决这道题需要两个栈,一个string类型的栈,初始时先放入一个空串,最后的栈顶元素即为所求,一个int类型用于把数字子串转成整数的栈。每遇到 [ 则创建字符串,直到遇到 ] ,把得到的方括号内的字符串放入string栈。最后栈中的元素为乘除计算后的数字,将栈中元素累加即是最终结果。用栈实现计算器是一类复杂的题型,力扣上的这道题是比较简单的,运算的式子没有包含括号,优先级只需要考虑乘除。栈的类型题

文章图片
#c++#算法
C++算法:队列与BFS

即给树的每个节点从左到右,从上到下编号,如果从1开始编号,某个节点下标为x,则它的孩子节点为2x和2x+1。依旧使用循环+队列的模板,非空节点入队列,队列元素应使用pair类型,记录节点及其下标,每次循环取队头和队尾的下标做差再加1,即可求出一层的宽度。与上一题相似,锯齿形层序遍历时,可以照常从左到右遍历,把第一层记为level=1,每偶数层时逆序数组即可。如下图所示,3000个节点分别位于两侧,

文章图片
#算法#c++#宽度优先
C++算法:分治

如果a+b>=cnt,说明最小的cnt个元素在<key 和 ==key 部分,数组中 ==key 部分的每个元素是相同的,所以此时已经把数组stock的最小cnt个元素放在数组前面了,即确定了最小的cnt个元素所在的区间,直接返回。最后ret即为所求。可以用上一道题“颜色分类”的思想,left = -1,right = n,在数组中找到一个元素key,把数组分成 [0,left]小于key,[le

文章图片
#算法#c++
C++算法:链表

每一步的实现方法多样,如链表逆置可以用头插法或三指针法,合并链表时可以创建哨兵卫,把两个链表的节点链接到新链表中,也可以不创建哨兵卫交替链接到原链表。newHead为哨兵卫,cur为当前节点,prev为cur的前驱节点,Next为cur的下一个节点,nNext为Next的下一个节点,可以用优先级队列优化,建立小堆,先把链表第一个节点放入堆中,每次取堆顶元素,将堆顶元素重新链接成一个新链表。暴力解法

文章图片
#c++#算法#链表
C++算法:位运算

常见的位运算有左移<<、右移>>、按位取反、按位与、按位或、异或。使用位运算尽量加括号以明确优先级。给二进制数的每一位从右往左从0开始编号。给一个数n,确定它的二进制表示中的第x位是0还是1。先把n右移x位,把第x位变成最低位,再按位与1,即(n>>x)&1。1的二进制是00000001,如果第x位是0,则结果为0,如果第x位是1,则结果为1。将一个数n的二进制表示的第x位修改成1。即。

文章图片
#c++#算法
C++算法:模拟

用数组创建一个哈希表hash,字符串 t=“croak” ,hash的下标对应t下标,hash[i]记录t[i]字母出现。可以看到,遍历字符串,如果字符串中含有croak,hash中1和0就会一直交换直到字符k,hash[Index[k]]即此时青蛙数量。题目要求返回最少青蛙数,字符串croakOfFrogs中,如果croak是分开的,如示例1,则说明可以一只青蛙叫两次;数组t记录攻击时刻,两次攻

文章图片
#算法#c++#学习方法
C++算法:哈希表

创建哈希表,key为string,value为vector< string >,遍历strs,把遍历到的strs的元素先保存为s然后排序,再hash[s].push_back()。哈希表存储的键值对为 < nums[i],i > ,如果从前往后遍历,对于[2,7,4,15],target=8,先把元素和下标放入哈希表。遍历数组到2,然后在哈希表中查找是否有6,没有则继续遍历,当遍历到4时,哈希表中

文章图片
#散列表#算法#c++ +2
Linux:进程

本文介绍了Linux进程的基本概念和操作系统原理。首先解释了冯诺依曼体系结构,说明CPU只能直接访问内存。然后描述了操作系统的功能定位,包括管理硬件资源和为应用程序提供执行环境。重点讲解了进程概念,指出进程=内核数据结构+程序代码和数据,介绍了描述进程的PCB(task_struct)数据结构及其内容。通过系统调用getpid/getppid和ps命令演示了如何查看进程信息,包括/proc目录下的

文章图片
#linux#服务器
    共 15 条
  • 1
  • 2
  • 请选择