自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 时间复杂度的详细求解

时间复杂度计算方法(包括递归式求解)预备知识:①积分近似:∑i=0nf(i)∼∫i=0i=nf(i)di\sum_{i=0}^nf(i)\sim\int_{i=0}^{i=n}f(i) dii=0∑n​f(i)∼∫i=0i=n​f(i)di​ 一般地:∑i=0nf(i)≤∫i=0i=nf(i)di\sum_{i=0}^nf(i)\le\int_{i=0}^{i=n}f(i) dii=0∑n​f(i)≤∫i=0i=n​f(i)di②分治递归式通解:(主定理的原式)T(n)=aT(n/b)

2022-05-20 00:00:37 1934

原创 2021-10-18 力扣数据结构第一天

只出现一次的数字点击访问思路一:哈希集合表① 建立哈希集合表unordered_set<int, int> hash② 遍历数组中的元素,每次遍历判断元素在集合中的个数是否存在,若已经存在就删除,否则就进入集合。最终这个操作使得集合只剩下一个元素,这个元素就是只出现一次的数字。class Solution {public: int singleNumber(vector<int>& nums) { auto it = nums.begin

2021-10-18 21:29:09 194

原创 【C++类与数据结构】单链表以及基本操作手段

引入链表是最基本的数据结构,它由若干个节点组成,每个节点可以在内存上不连续,通过指针建立联系,一个节点由数据和下一个节点地址组成:head是用来遍历整个链表的指针。头节点和尾节点顾名思义,分别是第一个节点和最后一个节点。默认条件下,我们设置head = NULL;即head为空指针(也可以使用nullptr)链表在空的情况下,其组成部分有且仅有head指针!由于链表是由节点组成的,所以我们要先定义一个节点struct(当然可以用class)//节点结构体struct Node{

2021-05-13 17:44:54 267

原创 【C++】STL之map键值对

map是映射,联想高中数学知识,这东西其实就是“键值对”。一个东西对应另一个东西的意思。比如一个人对应一个学号,就可以定义一个字符串string类型的人为“键”而学号int类型为“值”,如:map<string,int> m;map会自动将所有的键值对按照键的大小从小到大的方式排序。#include <iostream>#include <map>#include <string>#include <cstdlib>using nam

2021-05-08 13:35:23 1370 1

原创 【C++】【PAT】sort快速排序 {1004 成绩排名 (20 分)}

不想自己写排序怎么办?那就用algorithm库里的sort函数吧。sort函数采用的原理是快速排序,需要指出的是,sort函数默认采用的是升序排序,如果想要降序排序,需要自己定义一个bool函数。有以下用法:一、对vector数组和普通数组的排序#include <iostream>#include <algorithm>#include <vector>#include <cstdlib>#include <ctime>us

2021-05-08 13:29:16 499

原创 【C++】STL之vector容器

vector容器是一种动态数组,其数组长度是动态的声明vector的方法:vector<类型> 数组名;使用它的方法跟数组大同小异。#include <iostream>#include <vector> //调用vector库using namespace std;int main(){ vector<int> v1; //声明了一个v1的vector数组 cout<<v1.size(); //输出v1的长度 vector&

2021-05-08 12:53:12 92

原创 【C++ 程设作业】大作业:学生管理系统

程序源代码可以在我的github主页寻找:我的Github主页本来是打算用C写的,谁让C++比C好用呢?// 学生信息管理系统.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。#include <iostream>#include <cstdlib>#include <string>#include <fstream>#include <algorithm>#define FILENAME "stude

2021-04-15 21:25:33 1117 1

原创 【深大cppOJ】线段相交-结构体

有一天,我的一个好基友给我发了这样的一道题:题目描述:每个线段是用平面上的两点来描述,用结构体实现对于任意输入的2个线段,判断是否相交。提示:两点(x1,y1)(x_1,y_1)(x1​,y1​)和(x2,y2)(x_2,y_2)(x2​,y2​)的直线斜率为k=(y2−y1)/(x2−x1)k=(y_2-y_1)/(x_2-x_1)k=(y2​−y1​)/(x2​−x1​)输入:31 5 2 91 3 2 45 6 7 85 7 7 72 5 1 09 4 2 9输出:

2021-03-24 15:43:30 487

原创 【PAT乙级】【C++】1008 数组元素循环右移问题 (20 分)

题目描述:一个数组AAA中存有N(>0)N(>0)N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)M(≥0)M(≥0)个位置,即将AAA中的数据由(A0A1......AN−1))(A_0A_1......A_N-_1))(A0​A1​......AN​−1​))变换为(AN−M......AN−1A0A1......AN−M−1)(A_N-_M...... A_N-_1A_0A_1......A_N-_M-_1)(AN​−M​......AN​−1​A0​

2021-03-15 15:23:51 378

原创 【PAT乙级】【C++】1006 换个格式输出整数 (15 分)

题目描述:让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12…n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式:每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。输出格式:每个测试用例的输出占一行,用规定的格式输出 n。输入样例 1:234输出样例 1:BBSSS1234输入样例 2:23

2021-03-15 15:11:23 194

原创 【PAT乙级】【C++】1004 成绩排名 (20 分)

题目描述:读入n(>0)n(>0)n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩… …… …第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同

2021-03-15 14:54:29 138

原创 【PAT乙级】【C++】1001 害死人不偿命的(3n+1)猜想 (15 分)

题目描述卡拉兹(Callatz)猜想:对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过 1000 的正整数

2021-03-11 13:38:34 70

原创 用C/C++实现心形曲线的绘制

原理:利用内嵌循环绘制方程:(x2+y2−1)3=x2y3(x^2+y^2-1)^3=x^2y^3(x2+y2−1)3=x2y3的图像代码:/*说明:本程序的原理是根据方程(x^2+y^2-1)^3=x^2*y^3作差得值f,若f<=0,则用'*'填充,否则就用' ' 填充最后得到了心形曲线 */ #include <cstdio>#include <iostream>using namespace std;int main(){ float

2021-03-11 13:30:46 3039

原创 【PAT乙级】【C++】 1014 福尔摩斯的约会 (20 分)

题目描述大侦探福尔摩斯接到一张奇怪的字条:我们约会吧!3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的字符是 E ,那是第 5 个英文字母,代表一天里的第 14 个钟头(于是一天的 0 点到 23 点由数字 0 到 9、以及大写字母 A

2021-02-18 21:18:35 413 2

原创 【PAT乙级】【C++】 1016 部分A+B (15 分)

题目描述:正整数 AAA 的“ DAD_ADA​(为 1 位整数)部分” 定义为由 $A $中所有组成的新整数 。例如:给定 A=3862767A=3862767A=3862767,DA=6D_A=6DA​=6,则 A 的“666”部分”是666666,因为AAA中有222个666。现给定AAA,DAD_ADA​,BBB,DBD_BDB​请编写程序计算PA+PBP_A+P_BPA​+PB​。输入格式:输入在一行中依次给出 ​​,中间以空格分隔,其中0<A0<A0<A, B&lt

2021-02-18 17:52:43 108

空空如也

空空如也

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

TA关注的人

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