自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 c++ 实现 Linux 回收站,防止同名覆盖,一次删除多个文件

c++实现linux回收站功能,可一次删除多个文件,并防止回收站重名覆盖

2023-03-09 15:38:42 131 1

原创 中缀表达式转后缀表达式(逆波兰表示法)

目录中缀表达式后缀表达式(逆波兰表示法)中缀转后缀后缀表达式求值中缀表达式中缀表达式 是一个通用的算术或逻辑公式表示方法, 操作符是以中缀形式处于操作数的中间(如:3 + 4),中缀表达式是人们常用的算术表示方法。不容易被计算机解析,但仍被许多程序语言使用,因为它符合人们的普遍用法。与前缀或后缀记法不同的是,中缀记法中括号是必需的。计算过程中必须用括号将操作符和对应的操作数括起来,用于指示运算的次序。后缀表达式(逆波兰表示法)逆波兰式,也叫后缀表达式(将运算符写在操作数之后)如:3 4 +

2021-07-21 19:14:29 980

原创 STL----string模拟实现

string简单string实现具有增删查改接口的string实现三级目录简单string实现如果有人要你模拟实现一个简单的string,那主要要看的就是你对深浅拷贝的理解,就是实现类的默认成员函数。#include <iostream>#include <assert>using namespace std;//创建一个新的命名空间 防止和标准库的string同名namespace mystr { class string { public: //构造函

2021-07-14 23:34:06 91

原创 判断num是否为自幂数

写一个函数,判断num是否为自幂数自幂数:自幂数是指一个 n 位数,它每位上的数字的 n 次幂之和等于它本身。(例如:153,n=3,13+53+33=153 ,153即是n为3时的一个自幂数)别名:一位自幂数:独身数两位自幂数:没有三位自幂数:水仙花数四位自幂数:四叶玫瑰数五位自幂数:五角星数六位自幂数:六合数七位自幂数:北斗七星数八位自幂数:八仙数九位自幂数:九九重阳数十位自幂数:十全十美数分析:1、首先计算出 num 的位数 n2、然后计算出 num 每一位的

2021-03-28 22:27:19 726 1

原创 左旋字符串解析

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串尾部,请定义一个函数完成字符串左旋转操作的功能输入:abcdef 2输出:cdefab输入:abcdef 3输出:defabc假设 abcdef 要左旋两位 得到 cdefad首先可以想到的方法是:1、把 a b 拿出来2、然后将剩余字符依次放至字符串开头3、把 a b 添加到字符串末尾这种方式虽然可以很容易想到,但并不是最优的解决方案优化左旋过程为如下方式:1、根据要左旋的位数(2)将目标字符串 (abcde

2021-03-28 21:09:33 3035 7

原创 判断当前计算机大小端字节序

大小端存储模式(大/小端字节序)对于位数大于8位的处理器,16位或者32位的处理器寄存器宽度大于一个字节,必然存在着将多个字节安排的问题。因此产生了大端存储模式和小端存储模式。大端(存储)模式,数据的低位保存在内存的高地址中,数据的高位保存在内存的低地址中小端(存储)模式,数据的低位保存在内存的低地址中,数据的高位,保存在内存的高地址中使用联合体:int check_sys(){ //因该联合体仅使用一次 声明时没有标签也可以 union { char c; int i; }un

2021-03-13 22:17:01 139 1

原创 杨氏矩阵问题

有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。要求:时间复杂度小于O(n)通过题目描述可知该矩阵为一个有序二维数组(杨氏矩阵)类似下图的矩阵:思路分析:该查找方法每次排除一行或者一列,查找次数大大降低,时间复杂度小于O(n)根据分析结果实现代码:int FindNum(int (*p)[3], int row, int col, int num) { int r = 0;//行索引 从0开始 int c = col -

2021-03-13 21:42:44 98

原创 找出单身狗_只出现一次的数字Ⅲ

给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。进阶:你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现?输入:nums = [1,2,1,3,2,5]输出:[3,5]解释:[5, 3] 也是有效的答案。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/single-number-iii化繁为简,先理解下面这篇博客的思路,理解之后只要把

2021-03-13 20:31:34 323

原创 消失的数字解析

数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?注意:本题相对书上原题稍作改动输入:[3,0,1]输出:2输入:[9,6,4,2,3,5,7,0,1]输出:8来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/missing-number-lcci异或运算的性质: 相同数异或结果为0 任意数与0异或结果为该数把0~n的所有数与nums数组进行异或运算,由于除了缺少的数

2021-03-13 19:56:46 571 1

原创 整数反转解析

整数反转给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。输入:123输出:321输入:-123输出:-321题目来源:力扣(LeetCode)首先实现整数反转123反转为321当它不是1位数时,拿到它的每一位while(x/10){x%10;}第一次拿到3,第二次拿到2,输出结果要是32既然要反转,那么第一次拿到的数字就要比第二次拿到的数字

2021-03-13 12:06:07 162 1

原创 找出单身狗_只出现一次的数字

只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。本题考查位运算(异或运算)首先应该清楚异或运算的性质:1、任意数和 0 进行异或运算,结果是该任意数 n^0 = n;2、任意数和自身进行异或运算,结果是 0 n^n = 0;3、满足交换律和结合律 m^n^m = n^m^m = n^(m^m) = n^0 = n那么假设nums数组里为{2,1,2};根据异或运算的性质得到:2 ^ 1 ^ 2

2021-03-12 23:36:01 209 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除