• 2025-01-08Effective C++读书笔记——item11(自赋值)
    自赋值相关问题自赋值情况示例明显的自赋值如w=w,还有不太容易辨别的情况,像a[i] =a[j](当i和j值相同)、*px=*py(当px和py指向同一对象)等,这些是由别名(有多种引用对象的方式)造成的,尤其在涉及引用、指针操作同类型多个对象以及继承体系中基类和派生类对象引用、指针转换时要考
  • 2025-01-07CentOS 8 系统中添加 4G 大小的swap(交换空间)
    步骤一:检查磁盘空间可用情况 首先,使用df-h命令查看磁盘各分区的使用情况,确保有足够的磁盘空间来创建swap文件。一般建议选择有充足剩余空间的分区(比如/分区或者有较大空闲容量的其他数据分区等)来存放swap文件。步骤二:创建交换文件 使用dd命令来创建一个大小为4G(4*1024
  • 2025-01-03题解:AtCoder [ARC176D] Swap Permutation
    题意原题链接给定一个长度为\(n\)的排列\(p\),并执行以下操作\(m\)次:选择\(1\leqi<j\leqn\),交换\(p_i\)和\(p_j\)。定义一个序列\(p\)的权值为\(\sum_{i=1}^{n-1}|p_i-p_{i-1}|\)。求在\(\binom{n}{2}^m\)种可能的操作后,\(p\)的价值之和。答案对\(998244353\)
  • 2025-01-02Docker容器中Elasticsearch内存不足问题排查与解决方案
    在使用Docker运行Elasticsearch(ES)时,可能会遇到内存不足的问题,导致ES无法启动。以下是一次完整的排查和解决过程。问题描述在启动ES时,日志提示如下错误:#Nativememoryallocation(mmap)failedtomap5368709120bytesforcommittingreservedmemory.#Thereisin
  • 2024-12-26扩展swap分区
    1、创建磁盘分区,将其ID修改为822、将磁盘分区格式化swap文件系统3、启用新的swap查看swap分区大小free-m创建一个2G大小的分区,将其ID修改为82t修改分区ID               l查看ID可修改为哪些 w保存退出识别分区变化创建swap文件系统 启用新的
  • 2024-12-25MySQL占用内存和SWAP问题解决
    背景发现公司的项目部署上,经常出现数据库占用内存很高(接近6G)的情况,而且还出现了SWAP使用到90%左右的水平。所以需要排查数据库使用内存的情况,看数据库为什么使用了这么多内存,而且会不会频繁使用交换空间。要解决的问题:数据库使用高内存数据库使用SWAP解决SWAP空间在
  • 2024-12-22编写程序,利用指针实现排序(指针专题)。将输入的四个整数按由大到小的顺序输出。 已定义如下swap函数,可实现形参pa和pb所指内存单元的内容交换。请务必使用本函数实现两个变量内容的互换。
    #include<stdio.h>voidswap(int*pa,int*pb){   intt;   t=*pa;*pa=*pb;*pb=t;}intmain(){   intarr[4]={0};   inti,j,n=4;   for(i=0;i<4;i++)   {       scanf("%d",&arr[i]);   }   
  • 2024-12-22各大排序总结
    因为学了冒泡后就会用sort了,完全没有学过各种排序,第一次面试因为不会手写快排GG,痛定思痛,决定认真写篇学习博客QAQ冒泡排序时间复杂度$O(n^2)$,空间复杂度$O(1)$,不断swap把大的排到后面,咕噜咕噜冒泡泡voidBubbleSort(int*a,intlen){for(inti=1;i<len;++i){
  • 2024-12-2124.12.21
    回来第一场打成屎了\(\tiny-1\)A大胆猜测在\(n\)足够大时一定可以把\(y\)与成\(0\),那么就只需最大化\(x\)(NT:绿题不到)。那么\(n\)什么时候足够大呢?任取\(3\)个数,那么每一位都至少有一种消掉它的方法,因此如果现在还剩\(k\)位,就一定可以选出两个数消掉\(\lceilk/
  • 2024-12-19交换空间swap
    交换空间:交换空间是硬盘上的一部分,被用作虚拟内存,当系统的物理内存(RAM)不足时,系统会使用交换空间来存储暂时不用的数据。 1.关闭交换空间1)关闭所有交换空间swapoff -a 2)关闭特定的交换空间swapoff /dev/sdb1 2.开启交换空间1)开启所有交换空间swapon -a 2)开
  • 2024-12-17c++容器调用clear会释放内存吗
    只有含reserve()/capacity()成员函数的容器才需要用swapidiom来释放空间,而C++里只有vector和string这两个符合条件。在C++11中可以直接使用shrink_to_fit()。list/deque/set/map等容器是没有reserve()和capacity()这两个成员函数的,因此swap是无用功(除非用
  • 2024-12-14小试牛刀-SOL链swap程序
    目录一、编写目的二、jupiter三、实现功能四、代码解析WelcometoCodeBlock'sblog本篇文章主要介绍了[SOL链swap程序]❤博主广交技术好友,喜欢文章的可以关注一下❤一、编写目的    本篇文章是为了记录自己通过jupiterswapApi接口实现简单的自动化
  • 2024-12-13手动创建swap扩大内存
    1.创建swap文件夹#在根目录创建/swap文件夹并切换目录到/swapmkdir/swap&&cd/swap2.创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。一般swap的大小为物理内存的1.5-2倍。内存<=4g:Swap至少4G
  • 2024-12-11选择排序
    选择排序这里也用到了冒泡排序的写法。由题说明,用指针方法对10个整数按由大到小顺序排序。首先声明选择排序基本和冒泡排序法一样,只不过多加了一个调用函数环节。在后面会说明我的错误电点,同时我也会在另一篇冒泡排序中详细文字叙述效果图和代码可参照本文。代码如下`#include
  • 2024-12-10算法--排序算法
    选择排序#选择排序#选择排序思路:#-每次从[i,n-1]区间中选择最小值,放到i位置上#-i取值为[0,n-1],因为如果最后只有一个数,则无需查询,i取值为[0,n-2]即可defselect_sort(nums:list[int]):n=len(nums)ifn<=1:returnforiinr
  • 2024-12-09【数据结构】 堆(二叉堆)详解
    定义:堆的底层数据结构是树,一般不引起歧义的情况下,堆指的是二叉堆,其底层数据结构是完全二叉树,堆分为大根堆和小根堆,大根堆的每个节点的父亲都大于当前节点,小根堆反之,本文以小根堆为例二叉堆插入思路:将要插入的树放在数组最后,令数组原来的大小为\(size\),堆数组的名为\(heap\)
  • 2024-12-08P9951 [USACO20FEB] Swapity Swap B 题解
    题目传送门思路注意到\(1\leK\le10^9\),暴力显然会超时。将每次操作后的数列输出出来,发现会在一定次数的翻转后,重新回到初始数列。\(1\leN\le100\),循环节一定不会太长,所以暴力处理循环节长度即可。代码#include<bits/stdc++.h>usingnamespacestd;intn,lo,k,l1,l2,r
  • 2024-12-05在做题中学习(76):颜色分类
    解法:三指针思路:用三个指针,把数组划分为三个区域:for循环遍历数组,i遍历数组,left是0区间的末尾,right是2区间的开头,012区间成功被划分而上面的图画是最终实现的图样,实际left,right的移动得配合nums[i]来:left=-1,right=nums.size();1.nums[i]==0,要保证[0,left]为全0,l
  • 2024-12-05关于指针变量作函数参数的补充
     三个数从大到小输出#include<stdio.h>voidexchange(int*q1,int*q2,int*q3);voidswap(int*pt1,int*pt2);inta,b,c;int*p1,*p2,*p3;intmain(){ scanf("%d,%d,%d",&a,&b,&c); p1=&a; p2=&b; p3=&c; exchange(p1,p2,p3);
  • 2024-12-02数据结构与算法学习笔记----堆
    数据结构与算法学习笔记----堆@@author:明月清了个风@@lastedited:2024.12.2ps⛹从这里开始调整了文章结构,先讲解算法和数据结构基本原理,再给出例题,针对例题中的应用再讲解思路。堆堆是一种完全二叉树,常用于实现优先队列(priority_queue)等功能,可以根据堆内元素
  • 2024-11-276、Redis开发规范与性能优化
    键值设计key设计可读性与管理性,以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id简洁性,保证语义的前提下,控制key的长度不要包含特殊字符value设计拒绝bigkey在Redis中,一个字符串最大512MB,一个二级数据结构(例如hash、list、set、zset)可以存储
  • 2024-11-26性能优化经验:关闭 SWAP 分区
            关闭SWAP分区,特别是在性能敏感场景(如Elasticsearch服务)中,主要与SWAP的工作机制和对应用性能的影响有关。以下是详细原因:1. SWAP的工作机制导致高延迟SWAP是什么:SWAP分区是系统将物理内存(RAM)中不常用的数据移到磁盘上的一种机制,用于扩展虚拟
  • 2024-11-25算法与数据结构 1 - 模拟
    模拟介绍正如名称所说,模拟是信息学学生最早接触,也是难度跨度最大的知识点。简单如《A+B问题》《校门外的树》开门见山,没有任何铺垫和掩饰;困难如《猪国杀》《乱西星上的空战》同样开门见山,但谁做谁头疼。因此,本文选择了模拟作为《算法与数据结构》的第一章。引入正如名字所表
  • 2024-11-25每日打卡11.24
    includeusingnamespacestd;definemax20voidswap(char*p,char*q);intmain(){chara[max];intindex,n;cout<<"输入n"<<endl;cin>>n;cout<<"输出n个字符"<<endl;for(inti=0;i<n;i++){ci
  • 2024-11-23深入理解指针2:
    目录:1:const修饰指针2:野指针3:assert断言4:指针的使用和传址调用(1)const修饰指针1——1const修饰变量:我们知道变量是可以修改的我们可以看到图中a直接被修改为了20。但是如果我们希望在这个变量上加一些限制,使得它不能被修改,需要怎么做呢?引出:(const的使用) 当在a前面