自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从上到下打印二叉树(二叉树层序遍历)

从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。例如:给定二叉树: [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回其层次遍历结果:[[3],[9,20],[15,7]]/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right

2020-07-24 19:23:53 172

原创 AOE打怪

aoe:一个一维地图,上面有一些怪物,主角现在要打怪,每触发一次技能就会对范围内的怪物造成1点伤害,请问最少需要触发多少次技能才能消灭完怪物;注:x为主角位置,伤害范围是 x-y 到 x+y ;输入:第一行输入n表示怪物数量,y表示主角攻击范围;接下来输入n组数据,每组包含两个值pos和ph,分别表示怪物的位置和血量;输出:最少触发技能次数eg:输入:3 33 41 1010 5输出:15#include<iostream>#include<map>us

2020-07-24 18:14:34 332

原创 笔试题中输入字符串的分割

笔试题中往往会给一个数组,但是数组的输入方式确实如下:1,4,12,3,9,6那么只能用string来获取输入的数组,在用时必须要进行分割,取出自己需要的数组元素,解决方法如下:#include <iostream>#include <string>#include <vector>#include <sstream>using namespace std;int main(){ string str; int arr[100]; /

2020-07-24 17:23:54 297

原创 重建二叉树

输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。/** * Definition for binary tree * struct TreeNode { * int val; * Tre...

2020-02-10 15:58:09 142

原创 字符串转换整数

请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽...

2020-02-06 20:05:25 147

原创 压缩字符串

给定一组字符,使用原地算法将其压缩。压缩后的长度必须始终小于或等于原数组长度。数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。在完成原地修改输入数组后,返回数组的新长度。输入:[“a”,“a”,“b”,“b”,“c”,“c”,“c”]输出:返回6,输入数组的前6个字符应该是:[“a”,“2”,“b”,“2”,“c”,“3”]输入:[“a”,“b”,“b”,“b”,...

2020-02-06 20:02:22 141

原创 逆波兰表达式求值

根据逆波兰表示法,求表达式的值。有效的运算符包括 +, -, *, / 。*每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1:输入: [“2”, “1”, “+”, “3”, ""]输出: 9解释: ((2 + 1) * 3) = 9解题思路:遍历题中...

2020-02-06 19:49:36 124

原创 最短无序连续子数组

给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。你找到的子数组应是最短的,请输出它的长度。示例 1:输入: [2, 6, 4, 8, 10, 9, 15]输出: 5解释: 你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。解题思路:先创建一个数组tmp,将原数组拷贝过去,再对tmp进行排序。...

2020-02-06 19:43:31 146

原创 二叉树的右视图

给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释:解题思路:层序遍历,用num记录每层的最后一个节点元素,当遍历到该元素时,直接将节点元素的val放入ans数组中代码如下:/** * Definition for a binary tree node....

2020-02-06 19:37:12 100

原创 子集

给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[[3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]采用位运算方法,所给集合若有n个元素,则有 2^n 个子集0 ~ 2^n -1 的二进制刚好可以代表子集中放哪个元素;如三个元素...

2020-02-05 15:34:21 113

原创 二维vector的赋值和遍历

#include<iostream>#include<vector>using namespace std;int main(){ vector<vector<int>> ans; vector<int> tmp; tmp.push_back(1); tmp.push_back(2); tmp.push_back(3);...

2020-02-05 14:49:49 841

原创 栈和队列互相实现

#include<iostream>using namespace std;#include<stack>#include<queue>#if 1class stackQueue //两个栈实现一个队列{private: stack<int> m_stack1;public: stackQueue() //无参构造 {...

2019-10-21 17:35:16 128

原创 将字符串中的空格替换

//请实现一个函数,将一个字符串中的每个空格替换成“%20”//例如,当字符串为We Are Happy.//则经过替换之后的字符串为We%20Are%20Happy。#include<stdio.h>#include<stdlib.h>#include<string.h>char* replaceSpace(char *str, int leng...

2019-10-21 17:14:46 301

原创 找某一数字的最近Fibonacci数

//给你一个num,你想让其变为一个Fibonacci数//每一步你可以把当前数字X变为X-1或者X+1//现在给你一个数num求最少需要多少步//可以将其变为Fibonacci数。#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int main(){ int f_2 =...

2019-10-21 17:09:57 230

原创 最大子序列和

分治法:#include<iostream>using namespace std;#include<vector>//给一个数组,返回它的最大连续子序列的和//子向量的长度至少是1int FindGreatestSumOfSubArray(vector<int> arr, int left, int right){ int sum = 0;...

2019-09-23 21:42:36 125

原创 高精算法

高精算法+和*class HighAcc{ char m_data[NUMSIZE]; size_t m_size;public: HighAcc(string s) : m_size(s.size()) { string::reverse_iterator i; //逆向迭代器,i相当于指针 int j = 0; for (i = s.rbegin(); i != ...

2019-09-21 16:44:51 248

原创 字符串乘法(正计逆存)

#includeusing namespace std;#include//字符串乘法string stringMul(string num1, string num2){int m = num1.size();int n = num2.size();char mul = (char)calloc(‘0’, sizeof(char)*(m + n));for (int i = m...

2019-09-21 16:37:49 122

原创 ++和--的重载

#include<iostream>using namespace std;class Three{private: int m_a1; int m_a2; int m_a3;public: Three(int a1 = 0, int a2 = 0, int a3 = 0) //缺省构造函数 { m_a1 = a1; m_a2 = a2; m_a3 ...

2019-09-10 21:00:12 475

原创 日期计算器

三、设计一个日期类,包含以下功能:1、只能通过传入年月日初始化。2、可以加上一个数字n,返回一个该日期后推n天之后的日期。3、减天数n#include<iostream>using namespace std;#include<stdlib.h>class Date{private: int m_year; int m_month; int m_d...

2019-09-10 14:09:31 4450

原创 快速计算订单价格

某老板想要一个能快速计算订单价格的程序,请你帮他设计一个类:1、这个类里需要原价和数量,原价从一个数组中读出即可(自行定义数组),数量需要初始化。2、老板会不定期调整价格,调整的方式是通过调整一个价格系数,这个系数乘以原价即为最终价格,这个折扣会影响到所有产品。#include<iostream>using namespace std;class Price{priva...

2019-09-02 21:39:05 777

原创 排序算法

1.插入排序:工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。时间复杂度O(n)到O(n^2)void InsertSort(int* src, int n) //插入排序{ int ...

2019-08-23 14:51:45 118

原创 模拟实现

//模拟实现strcpy#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#define size 30int main1(){ char str1[size] = ""; char str2[size] = ""; scanf("%s %s", str1, str2);...

2019-08-23 14:40:07 155

原创 堆操作

头文件heap.h#ifndef _HEAP_H_#define _HEAP_H_typedef int HPDataType;typedef struct Heap{ HPDataType* data; int size; int capacity;}Heap;void adjustDown(Heap* hp, int n); //向下排序void HeapInit(...

2019-08-17 16:24:07 78

原创 先序遍历还原树(递归)

头文件 BTree.h#ifndef _BTREE_H_#define _BTREE_H_#include<stdio.h>#include<stdlib.h>typedef char BTDataType;typedef struct BinaryTreeNode{ BTDataType _data; struct BinaryTreeNode* l...

2019-08-17 16:20:43 228

原创 qsort排序

//使用qsort快速排序void qsort(void* base,int nelem,unsigned int width,int(pfCompare)(const void ,const void*))base为待排序的数组nelem为数组元素个数width为数组每个元素所占字节长度pfCompare为函数指针指向一个"比较函数"#include<stdio.h>#...

2019-06-03 18:03:00 179

原创 一系列string操作的模拟

//模拟实现strcat字符串拼接函数#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>#define size 30int main(){ char str1[size] = ""; char str2[size] = "...

2019-06-03 17:31:07 100

原创 字符左旋

实现一个函数,可以左旋字符串中的k个字符。eg:ABCD左旋一个字符得到BCDAABCD左旋两个字符得到CDAB#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>左旋函数void Left(char a[],int n,int ...

2019-05-13 20:13:03 101

原创 逆转字符串

有一个字符数组的内容为:“student a am i”,请你将数组的内容改为"i am a student".要求:不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。student a am ii ma a tnedutsi am a student程序代码如下:#include<stdio.h>#include<stdlib.h>/...

2019-04-21 00:31:10 192

原创 找数字中的“单身狗”

一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。请找出这个数字。(使用位运算)程序代码如下:#include<stdio.h>#include<stdlib.h>int compare(int arr[],int n){ int i = 0; int ret = 0; for (i = 0; i < n; ++i) { //异或...

2019-04-21 00:28:09 538

原创 位运算符应用之一

不使用(a+b)/2这种方式,求两个数的平均值。程序代码:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int aver1(int a, int b){ //位运算求平均值分两部分 //两数平均值 = 相与后的值 + 异或后再右移一位的值 return (a & ...

2019-04-21 00:25:14 162

原创 数制逆置,加转换

编写函数:unsigned int reverse_bit(unsigned int value);这个函数的返回值value的二进制位模式从左到右翻转后的值。如:在32位机器上25这个值包含下列各位:00000000000000000000000000011001翻转后:(2550136832)10011000000000000000000000000000程序结果返回:255...

2019-04-21 00:22:26 131

原创 杨氏矩阵中找数字

杨氏矩阵有一个二维数组.。数组的每行从左到右是递增的,每列从上到下是递增的.。在这样的数组中查找一个数字是否存在。找到返回1,未找到返回0.程序如下:#include<stdio.h>#include<stdlib.h>int find(int arr[3][3],int n,int row,int col){ while (row <= 2 &a...

2019-04-21 00:17:08 145

原创 数组调整 奇数在前偶数在后

调整数组使奇数全部都位于偶数前面。输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分代码如下:#include<stdio.h>#include<stdlib.h>void order(int arr[],int n){ int i,j; int tmp; for (i = 0,...

2019-04-21 00:13:23 326

原创 简易扫雷

程序代码如下:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<time.h>#define MAX_ROW 9#define MAX_COL 9#define MINE_COUNT 10 //地雷个数//开始菜单界面okint Start(...

2019-04-09 19:31:18 151

原创 三子棋游戏

程序代码如下:#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>#include<stdlib.h>#include<time.h>#define MAX_ROW 3#define MAX_COL 3//开始选择界面int Start(int choice){ printf("------...

2019-04-06 12:54:09 134

原创 函数应用

创建一个数组,实现函数init()初始化数组、实现empty()清空数组、实现reverse()函数完成数组元素的逆置。要求:自己设计函数的参数,返回值。程序代码如下:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int _print(int a[], int n) ...

2019-04-03 13:34:02 127

原创 字符串转换

编写一个程序,可以一直接收键盘字符;如果是小写字符就输出对应的大写字符;如果接收的是大写字符,就输出对应的小写字符;如果是数字不输出;其余原样输出。程序代码如下:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<ctype.h> //该库...

2019-04-02 00:08:52 112

原创 实现一个函数,判断一个数是不是素数。

程序代码如下:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<math.h>int Judge(int num){int i;for (i = 2; i < sqrt(num); ++i){if (num % i == 0){pri...

2019-04-01 23:19:34 184

原创 实现一个函数判断year是不是润年

实现一个函数判断year是不是润年程序代码如下:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int judge(int n){if ((n % 4 == 0 && n % 100 != 0) || n % 400 == 0){printf(“是闰年!\n...

2019-04-01 22:42:41 207

原创 用函数交换两个变量的内容

用函数交换两个变量的内容函数形参即为实参的一份拷贝;形参内部怎么改变,实参都没有影响;故此时应用指针变量。程序代码如下:#include<stdio.h>#include<stdlib.h>int Swap(int* a, int* b){int tmp;tmp = *a;*a = *b;*b = tmp;return 0;}int main(...

2019-04-01 22:12:13 235

空空如也

空空如也

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

TA关注的人

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