自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【求正数数组的最小不可组成和 】C++

【题目链接】:求正数数组的最小不可组成和【题目描述】给定一个全是正数的数组arr,定义一下arr的最小不可组成和的概念:1,arr的所有非空子集中,把每个子集内的所有元素加起来会出现很多的值,其中 最小的记为min,最大的记为max; 2,在区间[min,max]上,如果有一些正数不可以被arr某一个子集相加得到,那么 这些正数中最小的那个,就是arr的最小不可组成和; 3,在区间[min,max]上,如果所有的数都可以被arr的某一个子集相加得到,那么 max + 1是arr的最小不可组成和;

2021-01-29 16:41:44 221

原创 【不用加减乘除做加法】/*三种方法*/ C++

【题目描述】写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。方法一:自加(++)自减(–)class Solution {public: int Add(int num1, int num2) { if(num1>0) { while(num1--!=0) { num2++; } ret

2021-01-27 16:20:41 296

原创 【树根】C++

【题目描述】:数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根;如果结果是两位数或者包括更多位的数字,那么再把这些数字加起 来。如此进行下去,直到得到是一位数为止。 比如,对于24来说,把2 和4 相加得到6,由于6 是一位数,因此6 是24 的数根。 再比如39,把3 和9 加起来得到12,由于12不是一位数,因此还得把1 和2 加起来, 最后得到3,这是一个一位数,因此3 是39 的数根。 现在给你一个正整数,输出它的数根。【输入描述】输入包含多

2021-01-25 15:55:43 1098

原创 【单词搜索】C++

【题目描述】给出一个二维字符数组和一个单词,判断单词是否在数组中出现,单词由相邻单元格的字母连接而成,相邻单元指的是上下左右相邻。同一单元格的字母不能多次使用。例如:给出的字符数组=[ [“XYZE”], [“SFZS”], [“XDEE”] ]单词 =“XYZZED”, -> 返回 true,单词 =“SEE”, ->返回 true,单词 =“XYZY”, -> 返回 false.【思路分析】这种题一看就是要用DFS加递归来进行实现的。使用DFS,主要就是

2020-12-21 22:34:07 725 1

原创 【fork vfork clone】Linux

在Linux下,创建进程通常有三种方法:fork(),vfork(),clone()forkfork创建一个进程时,子进程完全复制父进程的资源,复制出来的子进程有自己的数据结构(task_struct)和pid,同时也复制了父进程的其他资源,fork子进程完全复制父进程的栈空间,也复制了页表,但没有复制物理页面,所以这时虚拟地址相同,物理地址也相同,但是会把父子共享的页面标记为“只读”(类似mmap的private的方式),如果父子进程一直对这个页面是同一个页面,知道其中任何一个进程要对共享的页面“写操

2020-12-18 18:47:20 184 1

原创 【LWP,进程,线程】Linux

【前情提要】:1.在Linux下,没有线程这个概念,而在Windows系统下有线程。2.Linux下,用进程来模拟线程(这种模拟出来的线程叫做轻量级进程,简称LWP)。3.在Linux中(在CPU角度看)线程被称作轻量级进程,由于Linux下没有真正的线程,只有所谓的用户级线程,线程在进程内分布的地址空间内彼此独立地运行。4.线程并没有独立的虚拟地址空间,只是在进程虚拟地址空间中拥有相对独立的一块空间。5.多个线程各自有一个栈,共有一个堆。一、 LWPLWP被称作轻量级进程,在计算机操作系统中

2020-12-15 23:16:41 479

原创 【字符串通配符】C++

题目描述问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。要求:实现如下2个通配符:*:匹配0个或以上的字符(字符由英文字母和数字0-9组成,不区分大小写。下同)?:匹配1个字符输入:通配符表达式; 一组字符串。输出:返回匹配的结果,正确输出true,错误输出false输入描述:先输入一个带有通配符的字符串,再输入一个需要匹配的字符串输出描述:返回匹配的结果,正确输出true,错误输出false

2020-12-13 22:29:28 898 1

原创 【华为OJ】完全数计算

题目描述完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。给定函数count(int n),用于计算n以内(含n)完全数的个数。计算范围, 0 < n <= 500000返回n以内完全数的个数。 异常情况返回-1完全数(Perfect number),又称完美数或完备数,

2020-12-12 15:27:28 508 1

转载 【Inode】 Linux

一、inode是什么?理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文

2020-12-09 20:24:41 171

原创 【二进制中1的个数】

【题目描述】: 求一个数二进制中1的个数?方法一:这个方法虽然可以算出来 1 的个数,但是这个方法过于繁琐,循环次数较多,消耗的时间较多,所以我们可以改进这个程序。#include<iostream>using namespace std;int binarynumber( int num){ int tmp, count = 0; while (num != 0) { tmp = num % 2; num = num / 2;

2020-12-09 19:11:12 90

原创 【幸运的袋子】C++

[题目描述]:一个袋子里面有n个球,每个球上面都有一个号码(拥有相同号码的球是无区别的)。如果一个袋子是幸运的当且仅当所有球的 号码的和 大于所有球的 号码的积。 例如:如果袋子里面的球的号码是{1, 1, 2, 3},这个袋子就是幸运的,因为1 + 1 + 2 + 3 > 1 * 1 * 2 * 3 你可以适当从袋子里移除一些球(可以移除0个,但是别移除完),要使移除后的袋子是幸运的。现在让你编程计算一下你可以获得的多少种不同的幸运的袋子。输入描述: 空第一行输入一个正整数n(n ≤ 1000)

2020-12-08 20:28:14 284

原创 【进程的一生】Linux

进程一 进程的三种状态二 进程创建三 进程终止一 进程的三种状态一个进程有三种状态,分别为就绪状态,执行状态,阻塞状态。就绪状态: 进程已获得除CPU外的所有必要资源,只等待CPU时的状态。一个系统会将多个处于就绪状态的进程排成一个就绪队列。执行状态:进程已获CPU,正在执行。单处理机系统中,处于执行状态的进程只一个;多处理机系统中,有多个处于执行状态的进程。阻塞状态:正在执行的进程由于某种原因而暂时无法继续执行,便放弃处理机而处于暂停状态,即进程执行受阻。(这种状态又称等待状态或封锁状态)。通

2020-12-07 23:00:46 116

转载 【面试题】C++

1. extern关键字的作用 extern置于变量或函数前,用于标示变量或函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。它只要有两个作用:当它与“C”一起连用的时候,如:extern “C” void fun(int a,int b);则告诉编译器在编译fun这个函数时候按着C的规矩去翻译,而不是C++的(这与C++的重载有关,C++语言支持函数重载,C语言不支持函数重载,函数被C++编译器编译后在库中的名字与C语言的不同)当extern不与“C”在一起修饰变量或函数

2020-12-03 17:23:39 909

原创 【华为OJ】棋盘格子数

【题目描述】请编写一个函数(允许增加子函数),计算n x m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。【输入描述】输入两个正整数【输出描述】返回结果示例1【输入】22【输出】6【解题思路】这种题看到的时候不要慌,很多情况下,这种题我们都采用递归的方法来完成,我分首先分析出极端条件下的情况:1.当输入的m,n,有一个是0,或者两个都是0的情况:无路可走,直接输出0;2.

2020-12-03 15:43:00 232

原创 【两种排序方法】C++

考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法:1.根据字符串的字典序排序。例如:**“car” < “carriage” < “cats” < "doggies < “koala”2.根据字符串的长度排序。例如:“car” < “cats” < “koala” < “doggies” < “carriage”考拉想知道自己的这些字符串排列顺序是否满足这两种排序方法,考拉要忙着吃树叶,所以需要你来帮忙验证。

2020-12-01 15:38:00 94

原创 【字符集合】两种方法

题目描述输入一个字符串,求出该字符串包含的字符集合输入描述:每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写。输出描述:每组数据一行,按字符串原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出。示例1输入复制abcqweracb输出复制abcqwer方法一#include "stdio.h"#include <math.h>#include <iostream>#include <vector&gt

2020-11-26 10:55:54 210

转载 指针

1.指针的概念指针是一个特殊的变量,它里面存储的数值被解释为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者指针所指向的内存区,还有指针本身所占据的内存区。①指针的类型去掉声明中指针的名字,剩下的就是指针的类型。例如:int *ptr; //指针的类型是int *char *ptr; //指针的类型是char *int **ptr; //指针的类型是 int **int (ptr)[3]; //指针的类型是 int()[3]int *(

2020-11-19 09:32:34 120

原创 继承基类成员访问方式的变化

1. 基类private成员在派生类中无论以什么方式继承都是不可见的。这里的不可见是指基类的私有成员还是被继承到了派生类对象中,但是语法上限制派生类对象不管在类里面还是类外面都不能去访问它。2. 基类private成员在派生类中是不能被访问,如果基类成员不想在类外直接被访问,但需要在派生类中能访问,就定义为protected。可以看出保护成员限定符是因继承才出现的。3. 实际上面的表格我们进行一下总结会发现,基类的私有成员在子类都是不可见。基类的其他成员在子类的访问方式 == Min(成员在基类.

2020-10-28 17:48:50 339

原创 c程序地址空间和Linux地址空间

2020-10-28 17:42:07 78

原创 如何访问私有函数

如何访问私有函数类对象不可以访问对象中的私有成员,只能通过成员函数来访问。如果类成员想访问私有成员,可以通过将成员函数升为友元函数来进行访问,也可以通过对访问对象的类型进行转化。一, 通过升级成员函数class Base{friend void PrintData(const Base &b, const D &d, const C &c);public:Base(int a, int b) : m_a(a),m_b(b){#ifdef DISPLAYcout&

2020-10-28 17:40:26 1886

原创 【调整数组顺序使奇数位于偶数前面】C++

[编程题]调整数组顺序使奇数位于偶数前面时间限制:1秒 空间限制:32768K输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。C++:class Solution {public:void reOrderArray(vector &array){vec...

2020-04-09 19:55:36 98

原创 指针数组 数组指针 的判断

用变量a给出下面的定义:一个有10个指针的数组,该指针指向一个函数,该函数有一个整形参数并返回一个整型数*int a[10];这是一个指针数组。数组a里存放的是10个int型指针*int (a)[10];这是一个数组指针。a是指针,指向一个数组。数组a有10个int型元素。*int (a)(int);这个表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个函数,这个函数有一个类...

2020-03-05 12:07:59 696

原创 发送信息流程(冯诺依曼体系)

发送信息流程:你通过键盘输入信息到内存中,pcu在内存中读取之后,给信息进行封装之后加上了报头,然后转交内存,然后通过网卡(看不见的输出设备)通过网络传输,对方的网卡在网络中读取到你的带有报头的信息之后,让内存进行读取,然后传向cpu进行解包,解包之后传回内存,从对方的显示器输出,完成信息发送。...

2020-02-10 17:08:06 154

原创 c语言经典题目

#include<stdio.h>int main(){ char *c[] = { "ENTER", "NEW", "POINT", "FIRST" }; char**cp[] = { c + 3, c + 2, c + 1, c }; char***cpp = cp; printf("%s\n", **++cpp); printf("%s\n", *--*++cpp ...

2019-09-02 11:06:11 516

原创 【求杨辉三角】 C语言

#include<stdio.h>int main(){int i = 0;int j = 0;int a[100][100];int num = 0;printf(“请输入要打印的行数:>”);scanf("%d", &num);for (i = 0; i <100; i++){for (j = 0; j <100; j++){a[...

2019-08-20 15:44:51 70

空空如也

空空如也

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

TA关注的人

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