![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
三年级二班班长
这个作者很懒,什么都没留下…
展开
-
【求正数数组的最小不可组成和 】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 阅读 · 0 评论 -
【调整数组顺序使奇数位于偶数前面】C++
[编程题]调整数组顺序使奇数位于偶数前面时间限制:1秒 空间限制:32768K输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。C++:class Solution {public:void reOrderArray(vector &array){vec...原创 2020-04-09 19:55:36 · 98 阅读 · 0 评论 -
【不用加减乘除做加法】/*三种方法*/ 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 阅读 · 0 评论 -
【树根】C++
【题目描述】:数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根;如果结果是两位数或者包括更多位的数字,那么再把这些数字加起 来。如此进行下去,直到得到是一位数为止。 比如,对于24来说,把2 和4 相加得到6,由于6 是一位数,因此6 是24 的数根。 再比如39,把3 和9 加起来得到12,由于12不是一位数,因此还得把1 和2 加起来, 最后得到3,这是一个一位数,因此3 是39 的数根。 现在给你一个正整数,输出它的数根。【输入描述】输入包含多原创 2021-01-25 15:55:43 · 1100 阅读 · 0 评论 -
【单词搜索】C++
【题目描述】给出一个二维字符数组和一个单词,判断单词是否在数组中出现,单词由相邻单元格的字母连接而成,相邻单元指的是上下左右相邻。同一单元格的字母不能多次使用。例如:给出的字符数组=[ [“XYZE”], [“SFZS”], [“XDEE”] ]单词 =“XYZZED”, -> 返回 true,单词 =“SEE”, ->返回 true,单词 =“XYZY”, -> 返回 false.【思路分析】这种题一看就是要用DFS加递归来进行实现的。使用DFS,主要就是原创 2020-12-21 22:34:07 · 727 阅读 · 1 评论 -
【字符串通配符】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 评论 -
【二进制中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 阅读 · 0 评论 -
【幸运的袋子】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 阅读 · 0 评论 -
【面试题】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 · 911 阅读 · 0 评论 -
【华为OJ】棋盘格子数
【题目描述】请编写一个函数(允许增加子函数),计算n x m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。【输入描述】输入两个正整数【输出描述】返回结果示例1【输入】22【输出】6【解题思路】这种题看到的时候不要慌,很多情况下,这种题我们都采用递归的方法来完成,我分首先分析出极端条件下的情况:1.当输入的m,n,有一个是0,或者两个都是0的情况:无路可走,直接输出0;2.原创 2020-12-03 15:43:00 · 232 阅读 · 0 评论 -
指针数组 数组指针 的判断
用变量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 阅读 · 0 评论 -
【两种排序方法】C++
考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法:1.根据字符串的字典序排序。例如:**“car” < “carriage” < “cats” < "doggies < “koala”2.根据字符串的长度排序。例如:“car” < “cats” < “koala” < “doggies” < “carriage”考拉想知道自己的这些字符串排列顺序是否满足这两种排序方法,考拉要忙着吃树叶,所以需要你来帮忙验证。原创 2020-12-01 15:38:00 · 94 阅读 · 0 评论 -
【字符集合】两种方法
题目描述输入一个字符串,求出该字符串包含的字符集合输入描述:每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写。输出描述:每组数据一行,按字符串原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出。示例1输入复制abcqweracb输出复制abcqwer方法一#include "stdio.h"#include <math.h>#include <iostream>#include <vector>原创 2020-11-26 10:55:54 · 210 阅读 · 0 评论 -
指针
1.指针的概念指针是一个特殊的变量,它里面存储的数值被解释为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者指针所指向的内存区,还有指针本身所占据的内存区。①指针的类型去掉声明中指针的名字,剩下的就是指针的类型。例如:int *ptr; //指针的类型是int *char *ptr; //指针的类型是char *int **ptr; //指针的类型是 int **int (ptr)[3]; //指针的类型是 int()[3]int *(转载 2020-11-19 09:32:34 · 120 阅读 · 0 评论 -
继承基类成员访问方式的变化
1. 基类private成员在派生类中无论以什么方式继承都是不可见的。这里的不可见是指基类的私有成员还是被继承到了派生类对象中,但是语法上限制派生类对象不管在类里面还是类外面都不能去访问它。2. 基类private成员在派生类中是不能被访问,如果基类成员不想在类外直接被访问,但需要在派生类中能访问,就定义为protected。可以看出保护成员限定符是因继承才出现的。3. 实际上面的表格我们进行一下总结会发现,基类的私有成员在子类都是不可见。基类的其他成员在子类的访问方式 == Min(成员在基类.原创 2020-10-28 17:48:50 · 339 阅读 · 0 评论 -
如何访问私有函数
如何访问私有函数类对象不可以访问对象中的私有成员,只能通过成员函数来访问。如果类成员想访问私有成员,可以通过将成员函数升为友元函数来进行访问,也可以通过对访问对象的类型进行转化。一, 通过升级成员函数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 · 1887 阅读 · 0 评论