- 博客(34)
- 收藏
- 关注
原创 3.3-递归-放苹果
f(0,0)=0;f(1,0)=0;//没有盘子f(0,1)=1;//有盘子,没苹果f(1,1)=f(1,0)+f(0,1)=1;#include<iostream>using namespace std;int I, K;//I:苹果数,K:盘子数int set(int I, int K){ if (I < K) return set...
2019-09-13 16:56:38
173
原创 3.2-递归-爬楼梯
#include<iostream>int stairs(int n);using namespace std;int main(){ int N; cin >> N; int num; num = stairs(N); cout << N << " = " << num << " ways."; ...
2019-09-13 13:14:02
195
原创 3.1-递归-四则运算表达式求值
#include<iostream>#include<string>#include<cstdlib>using namespace std;int factor_value();int term_value();int expression_value();int main(){ cout << expression_v...
2019-09-13 13:05:58
210
1
原创 42-连续子序列最大和
#include<iostream>using namespace std;bool NoInput = false;int find(int *a, int size) { if ((a == nullptr) || (size <= 0)) { NoInput = true; return 0; } int nCursum = 0; int nMax...
2019-09-11 20:43:19
99
原创 双重for里的if
#include<iostream>using namespace std;int main(){ int n = 3, N = 10; for (int i = 0; i <5; ++i){ cout << endl; cout << "最外层 i= " << i; for (int j = 0; j < N; +...
2019-09-04 15:33:22
317
原创 2.3-递归+回溯-N皇后问题
分析:任意两个皇后都不能处于同一行、同一列或同一斜线上。在第n行已放好的条件下,尝试第n+1行,如果第n+1行均不满足,尝试n行的下一个可能位置。回溯:在搜索的过程中尝试找到问题的解,如果发现找不到了,就退一步,往上回溯(剪枝过程)。对于许多复杂问题和大规模问题都可以使用回溯法。按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一...
2019-09-04 14:22:02
205
原创 找出数组中的重复数字
输出个数#include<iostream>#include<algorithm>using namespace std;const int N = 1000;int n;int a[N];int main(){ int n = 0; while (cin >> a[n]){ n++; } sort(a, a + n)...
2019-09-03 20:57:44
94
原创 寻找指定和的对数
题目描述:给定个整数的数组,找其中的pair(a, b),使得a+b=0,返回这样的pair数目。(a, b)和(b, a)是同一组。分析:动态的输入一个整数型数组;#include<iostream>#include<algorithm>using namespace std;int zeropair(int* a, int size);co...
2019-09-03 18:33:13
215
原创 输出二进制中1的个数
#include<iostream>using namespace std;int number0(int n);int main(){ int n; cin >> n; cout<<number0(n); return 0;}int number0(int n){ int cnt = 0; while (n){ ++cnt; ...
2019-09-03 18:01:52
219
原创 2.2-递归-汉诺塔
分析:移n个盘子 -> 先移n-1个盘子,再移第n个盘子。 将n-1个由A->B; 1个由A->C; 再将n-1个由B->C;边界 1个盘子->1次if里的return: 使程序跳出if所在的函数,返回到母函数中继续执行。#include<iost...
2019-09-01 17:28:34
119
原创 2.1-递归-求阶乘
思路:一个函数调用自身,即为递归。(栈)求阶乘的时间复杂度O(n)#include<iostream>int Factorial(int n);using namespace std;int main(){ int n,fac; cin >> n; fac = Factorial(n); cout << n<&l...
2019-09-01 16:54:24
264
原创 排序
直接插入排序:第一趟:5,12,9,20,6,31,24 5和12比第二趟:5,9,12,20,6,31,24 5,12,9比。9先和5比,>5和12比,小于12,放中间冒泡:从后往前,相连的两分比较,大的下沉第一趟:12,5,9,20,6,24,31第二趟:12,5,9,20,6,24,31...
2019-08-31 17:10:06
139
原创 综合大问题
Q1:简单介绍下自己Q2:有哪些分割方法Q3:二值化分割的优缺点Q4:快速排序算法Q5:常用排序算法Q6:数组和链表的区别,哪一个在堆上和栈上链表与数组的区别A 从逻辑结构来看 A-1. 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当 数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费。 A-2. 链...
2019-08-30 16:16:21
142
原创 初始化列表
必须放在初始化列表的情况:1、常量成员常量(const)只能初始化不能赋值(但是可以通过指针的方式来访问修改该值),所以必须放在初始化列表里面。2、引用类型引用必须在定义的时候初始化,并且不能重新赋值(它在运行时刻不能改变),所以也要写在初始化列表里面3、没有默认构造函数的类类型使用初始化列表可以不必调用默认构造函数来初始化,而是直接调用拷贝构造函数初始化。 所以当一个类类型的成员变量...
2019-08-30 15:53:15
141
转载 成员变量的初始化顺序
变量的初始化顺序:① 基类的静态变量或全局变量②派生类的静态变量或全局变量③基类的成员变量④派生类的成员变量注意:①成员变量在使用初始化列表初始化时,与构造函数中初始化成员列表的顺序无关,只与定义成员变量的顺序有关。②如果不使用初始化列表初始化,在构造函数内初始化时,此时与成员变量在构造函数中的位置有关。③类中const成员常量必须在构造函数初始化列表中初始化。④类中static...
2019-08-30 15:48:59
416
原创 笔试1
题目andy参加考试,总计ABCD...LM13道题,输入andy答对的题目,已知每道题的回答人数(<180),求andy未回答出的题目中,答对人数最多的题目,有重复取较前的题目。#include<iostream>#include<algorithm>using namespace std;int N;char pass[13];//andy得分的...
2019-08-30 15:34:30
82
原创 5.2-分治-快速排序
数组排序任务可以如下完成:1)设k=a[0], 将k挪到适当位置,使得比k小的元素都在k左边,比k大的元素都在k右边,和k相等的,不关心在k左右出现均可(O(n)时间完成)2) 把k左边的部分快速排序3) 把k右边的部分快速排序#include<iostream>using namespace std;void print(int a[], int N){ for...
2019-08-29 11:08:42
94
原创 5.1-分治-归并排序
数组排序任务可以如下完成:1)把前一半排序2) 把后一半排序3) 把两半归并到一个新的有序数组,然后再拷贝回原数组,排序完成。#include<iostream>using namespace std;void MergeSort(int a[], int s, int e, int tmp[]);void Merge(int a[], int s, int ...
2019-08-29 11:04:32
104
原创 1.3-枚举-假币问题
分析:对于每一枚硬币先假设它是轻的,看这样是否符合称量结果。如果符合,问题即解决。如果不符合,就假设它是重的,看是否符合称量结果。把所有硬币都试一遍,一定能找到特殊硬币。strchr函数功能为在一个串中查找给定字符的第一个匹配之处。函数原型为:char *strchr(const char *str, int c),即在参数 str 所指向的字符串中搜索第一次出现字符...
2019-08-29 11:00:05
237
原创 1.2-枚举-生理周期
思路:从d+1天开始,一直试到第21252 天,对其中每个日期k,看是否满足 (k – p)%23 == 0 && (k – e)%28 == 0 && (k-i)%33 == 0如何试得更快? 比起直接用if,for for 更快,k在满足第一个后,跳着加。#include<iostr...
2019-08-29 10:45:05
142
原创 1.1-枚举-完美立方
思路分析:四重循环枚举a,b,c,d ,a在最外层,d在最里层,每一层都是从小到大枚举, a枚举范围[2,N] b范围[2,a-1] c范围[b,a-1] d范围[c,a-1]NOTE:for 按照一定顺序枚举。for的初始条件与上一变量的关系。#define _CRT_SECURE_NO_WARNINGS...
2019-08-29 10:41:48
173
原创 12.3 - STL中的二分查找 - lower_bound、upper_bound
lower_bound 查找下界在元素为任意T类型、按照自定义排序规则排好序的数组中进行查找 T* lower_bound(数组名+n1,数组名+n2,值,排序规则结构名());返回 T* p*p是查找区间里,下标最小的,可以排在“值”后面的元素,如果找不到,p指向下标为n2的元素。//大于等于值upper_bound 查找下界在元素为任意T类型、按照自定义排序...
2019-08-28 20:50:08
154
原创 12.3-STL中的二分查找-binary_search
默认:从小到大排好序的基本类型数组;升级:自定义排序规则排好序的、元素为T类型的数组(NOTE:查找时的排序规则与排序时的规则一致);NOTE:在区间内找到“等于”该元素的值,返回true;“等于”的含义:a等于b<=>“a必须在b前面”,“b必须在a前面”都不成立。#include<iostream>#include<algorithm&...
2019-08-28 19:51:37
258
原创 12.2-用sort对结构数组排序
int strcmp( char* str1,char* str2) str1和str2可以是字符串常量或者字符串变量 ①str1小于str2,返回-1;②str1等于str2,返回0;③str1大于str2,返回 1;#include<iostream>#include<algorithm>#include<string&...
2019-08-28 19:23:33
87
原创 笔试题2
题目描述:找出区间[low,high)的所有质数,输出这些质数的十位数之和与个位数之和的较小值。#include<iostream>#include<algorithm>using namespace std;int Isprime(int n){ //判断是否为素数 for (int i = 2; i < n; ++i){ if (n%i ...
2019-08-28 18:15:54
120
原创 12.1-用sort对数组排序
#include<iostream>#include<algorithm>using namespace std;struct Rule1{ bool operator()(const int &a1, const int &a2){ return a1 >a2; //从大到小排序 }};struct Rule2{ bool op...
2019-08-28 17:59:54
253
原创 7.4-滑雪
输入:输入的第一行表示区域的行数R和列数C(1 <= R,C <= 100)。下面是R行,每行有C个整数,代表高度h,0<=h<=10000。输出:输出最长区域的长度。解题思路:“我为人人”式递推 Len(i,j)表示从点(i,j)出发的最长滑行长度。 一个点(i,j), 如果周围没有比它低的点,Len(i,j) = 1。每个点的Len 值都初始...
2019-08-27 18:56:23
229
原创 7.3-01背包-POJ3624
输入4 61 42 63 122 7输出23#include<iostream>#include<algorithm>using namespace std;int N, V;const int vMAX = 20;const int nMAX = 20;int v[20];int w[20];int val[nMAX][...
2019-08-26 15:39:26
149
原创 7.2-口袋(递归+递推)
输入输入的第一行是正整数n (1 <= n <= 20),表示不同的物品的数目。接下来的n行,每行有一个1到40之间的正整数,分别给出a1,a2……an的值。输出输出不同的选择物品的方式的数目。递归方法int ways1 = choice(v - vol[k - 1], k - 1); //选第K种,note:vol下标自0开始int ways2 = cho...
2019-08-25 15:29:57
167
原创 7.1-动态规划-Help JimmyPOJ1661
输出要求对输入的每组测试数据,输出一个整数,Jimmy到地面时可能的最早时间。输入样例13 8 17 200 10 80 10 134 14 3输出样例23if ( 板子k左端正下方没有别的板子) { if( 板子k的高度h(k) 大于Max) LeftMinTime(k) = ∞; else ...
2019-08-24 22:08:05
159
原创 use _CRT_SECURE_NO_WARNINGS 错误
在cpp文件首行加:#define _CRT_SECURE_NO_WARNINGS
2019-04-22 20:41:49
3566
原创 VS新建调试时总卡死,已有项正常运行
VS新建调试时总卡死,已有项正常运行解决1 在工具-选项-调试------------下面2个勾选。使用托管兼容模式使用本机兼容模式(VS2013没找到)2 调试类型改为仅限托管...
2019-04-20 21:02:53
3947
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人