CPlusPlus
zc_zhao
学生一枚
展开
-
LeetCode打卡--模拟专题
LeetCode打卡–模拟专题文章目录LeetCode打卡--模拟专题模拟专题LeetCode 263. Ugly NumberLeetCode 67. Add BinaryLeetCode 504. Base 7LeetCode 54. Spiral MatrixLeetCode 24. Swap Nodes in PairsLeetCode 299. Bulls and CowsLeetCo...原创 2020-01-21 21:43:33 · 915 阅读 · 2 评论 -
leetcode-位运算
位运算文章目录位运算LeetCode 231. Power of TwoLeetCode 762. Prime Number of Set Bits in Binary RepresentationLeetCode 136. Single NumberLeetCode 476. Number ComplementLeetCode 137. Single Number IILeetCode 260...原创 2019-12-30 22:15:24 · 898 阅读 · 0 评论 -
leetcode-BFS和DFS搜索
BFS和DFS搜索文章目录BFS和DFS搜索LeetCode 111. Minimum Depth of Binary TreeLeetCode 279. Perfect SquaresLeetCode 733. Flood FillLeetCode 200. Number of IslandsLeetCode 130. Surrounded RegionsLeetCode 543. Diame...原创 2019-12-30 21:38:16 · 833 阅读 · 0 评论 -
顺序结构实现树,二叉树的重建
顺序结构实现树,二叉树的重建文章目录顺序结构实现树,二叉树的重建二叉树的链式存储结构二叉树的顺序存储结构二叉树的重建:中序+后序->前序直接由前序+中序->后序直接由后序+中序->前序前序+后序->中序二叉树的链式存储结构struct Node{ bool have_value; int v; Node *left, *right; ...原创 2019-10-13 22:31:22 · 909 阅读 · 0 评论 -
树的四种遍历方式,链式结构实现树
1.二叉树中有两种特殊的二叉树,叫做满二叉树和完全二叉树2.满二叉树指的是二叉树内部结点都有两个儿子3.完全二叉树就是叶子结点不完整,从右向左连续缺若干结点,只需要用一个一维数组即可存储完全二叉树4.已知父亲编号为k,则左儿子是2k,右儿子是2k+1;倘若儿子的编号是x,则父亲结点的编号是x/2;#include <bits/stdc++.h>using namespace ...原创 2019-10-13 10:39:05 · 837 阅读 · 0 评论 -
排序汇总
“桶排序”#include <bits/stdc++.h>using namespace std;int main(){ int a[11]={0}; for(int i = 1; i <= 5; i++) { int x; scanf("%d", &x); a[x]++; } ...原创 2019-09-21 13:40:19 · 904 阅读 · 0 评论 -
暴力枚举法
奥数问题文章目录奥数问题方法一:暴力枚举方法二:用book标记,进行枚举方法三:用深度优先搜索全排列炸弹人方法一:暴力枚举方法二:用广度优先搜索方法三:用深度优先搜索字符串火柴棒等式+=\boxed{}\boxed{}\boxed{} + \boxed{}\boxed{}\boxed{}=\boxed{}\boxed{}\boxed{}+=将数字分别填入,每个数组只能使...原创 2019-09-22 11:42:22 · 1634 阅读 · 0 评论 -
深度优先搜索和广度优先搜索(dfs and bfs)
走迷宫深度搜索第一行有两个数N M。N表示迷宫的行,M表示迷宫的列。接来下来N行M列为迷宫,0表示空地,1表示障碍物。最后一行4个数,前两个数为迷宫入口的x和y坐标。后两个为小哈的x和y坐标。#include<bits/stdc++.h>using namespace std;int a[51][51];int book[51][51];int minValue = 8...原创 2019-09-22 21:21:16 · 800 阅读 · 0 评论 -
链表和模拟链表,双向模拟链表
链表和模拟链表,双向模拟链表文章目录链表和模拟链表,双向模拟链表通过链表去存储一串数字通过模拟链表去存储一串数字有序数组中,插值通过模拟链表进行插值破损键盘移动盒子通过链表去存储一串数字#include <bits/stdc++.h>using namespace std;struct node{ int data; struct node *next;...原创 2019-10-06 11:22:32 · 844 阅读 · 0 评论 -
树和堆
树和堆文章目录树和堆先验知识堆的创建方法一:插入的时候调整树的结构方法二:先存储再调整堆排序方法一:建立最小堆,pop堆顶方法二:建立最大堆,归位最大值先验知识二叉树中有两种特殊的二叉树,叫做满二叉树和完全二叉树;满二叉树指的是二叉树内部结点都有两个儿子;完全二叉树就是叶子结点不完整,从右向左连续缺若干结点,只需要用一个一维数组即可存储完全二叉树;已知父亲编号为k,则左...原创 2019-10-08 23:46:02 · 745 阅读 · 0 评论 -
图的遍历(dfs,bfs)
文章目录图的遍历:用深度搜索图的遍历:用广度搜索城市地图-图的深度优先遍历Continue...图的遍历:用深度搜索//输入5 51 21 31 52 43 5#include<bits/stdc++.h>using namespace std;int e[101][101];int book[101];int sum=0;int n;void df...原创 2019-10-08 23:49:43 · 753 阅读 · 0 评论 -
并查集汇总
并查集总结class UnionFind{public: vector<int> father; UnionFind(int num)//num表示元素的个数 { father.push_back(num); } int Find(int n) { //非递归 while(father[n] !=...原创 2019-09-15 06:56:52 · 746 阅读 · 0 评论 -
动态规划DP汇总
DP文章目录DPleetcode 64最小路径和求解金矿问题背包问题旅游行程最优化问题:如何记录动态规划的路径?leetcode 64最小路径和给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。**说明:**每次只能向下或者向右移动一步。#include <bits/stdc++.h>using namespace st...原创 2019-09-15 06:50:50 · 776 阅读 · 0 评论 -
C/C++输入输出归纳总结
输入输出归纳总结文章目录输入输出归纳总结输入只有一组输入数据有多组测试数据,直到读至输入文件结尾为止在开始的时候输入一个N,接下来是N组数据字符串的输入接收一个字符串,遇空格,Tab,Enter结束使用cin.get()接收字符或字符串使用cin.getline()接收一个字符串,可以接收空格并输出需要包含string头文件的用法:getline()接收包含空格的串需要包含string头文件的用...原创 2019-09-14 19:24:39 · 1128 阅读 · 0 评论 -
银行计算利息-20151106
需要用到指数函数,所以需要使用以下头文件:#include<math.h> //pow need it通过while循环,使得程序可以反复执行利息的计算:int main(){ double money,years,rate,sum; cout<<"请输入本金、存款年限和利息,用空格隔开"<<endl; cin>>money>>years>>rate;原创 2015-11-09 17:41:28 · 592 阅读 · 0 评论 -
自幂数(典型的水仙花数)-20151107
自幂数是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。(例如:当n为3时,有1^3 + 5^3 + 3^3 = 153时的一个自幂数)需要使用指数函数,需要如下头文件#include "cmath"eg:/* *eg:153,1^3 + 5^3 + 3^3 = 153 *n = 1,自幂数称为独身,0,1,2,3,4,5,6,7,8,9 都是自幂数 *n = 2,没有自幂数原创 2015-11-09 18:01:48 · 2704 阅读 · 0 评论 -
分辩零钱-20151108
题目内容: 为顾客找零钱时,希望选用的纸币张数最少。例如73元,希望零钱的面值为五十元1张,二十元1张,一元3张。设零钱面值有五十元、二十元、十元、五元和一元,请编写程序,用户输入100以下的数,计算找给顾客的各面值的纸币张数,数据间以空格隔开。 输入格式: 一个小于100、大于等于0的整数。 输出格式: 5个整数,数据间用一个英文空格分隔。int n,a,b,c,d,e,sum; co原创 2015-11-09 19:55:56 · 1502 阅读 · 0 评论 -
变参数的解决方法,使用stdarg中的VA宏
void va_start( va_list arg_ptr, prev_param ); type va_arg( va_list arg_ptr, type ); void va_end( va_list arg_ptr ); typedef char * va_list;原创 2015-09-22 21:08:48 · 370 阅读 · 0 评论 -
月份转换-20151114
int main(){ char month[12][10] = {"January","February","March","April","May","June", "July","August","September","October","November","December"}; int m; cin>>m;原创 2015-11-22 11:15:45 · 279 阅读 · 0 评论 -
结构体的应用-简易电话簿-20151115
程序如下: struct telelist //define the struct named telelist { char name[10]; char sex; char num1[5]; char num2[5]; }list1[3]; //define a原创 2015-11-23 21:09:34 · 418 阅读 · 0 评论 -
二分法应用实例
二分法的时间复杂度O(log(n))O(\log(n))O(log(n)),直接遍历时间复杂度是O(n)O(n)O(n)。倘若数组的长度是2322^{32}232,也就是 4294967296,那么在O(n)O(n)O(n)的最坏的情况下,你要查找4294967296这么多次,如果是用二分的话,最坏查找32次就可以了。解题模板:模板只是起到辅助作用,至于真正用的话,还是需要思考如何灵活使用它...原创 2019-09-14 19:26:20 · 1777 阅读 · 0 评论 -
统计频次:统计数组中每种模的频次
统计数组中某个数出现的频率,方法很巧妙,使用下标作为key,使用对应下标的值作为频数,比如一共输入10个数,统计0~9的个数有多少?#include <bits/stdc++.h>using namespace std;int cnt[10];int main(){ int x; for(int i = 0; i < 10; i++) {...原创 2019-09-14 19:25:57 · 913 阅读 · 0 评论 -
杨辉三角的函数实现
以下是杨辉三角的函数实现,使用时直接用c[3][2]就是组合数C32C_{3}^{2}C32的值以下是函数实现#include <bits/stdc++.h>using namespace std;long long c[105][105];const int mod = 1000000007;void init(int n){ c[0][0] = 1;...原创 2019-09-14 19:27:05 · 2520 阅读 · 0 评论 -
sort函数的用法
使用sort进行排序,以n台机器为例,每一个机器有最长的工作时间和机器等级;那么这里需要注意的是,一个机器对应的工作时间和机器等级是相互绑定的,所以这里使用结构体,结构体包含两个成员,一个是机器的工作时间,一个是机器的等级;那么对于排序,我们按照机器时间优先进行排序,在机器时间相同的情况下,再按照机器等级进行排序;同理按照这种方法可以分为优先级1>优先级2>…>优先级n进行排序...原创 2019-09-14 19:26:39 · 897 阅读 · 0 评论 -
结构体作为函数形参(三种方法)
例:检查不同数据类型在内存中的所占的字节数 使用结构体作为函数形参原创 2015-10-04 21:39:01 · 11480 阅读 · 5 评论