- 博客(77)
- 资源 (1)
- 问答 (131)
- 收藏
- 关注
原创 【leetcode】754.到达终点的数字
由于对称性,每次可以选择向左或向右移动,因此,我们可以将 target统一取绝对值。我们将 s一直循环累加,直到满足 s≥target 并且 (s−target)mod2=0,此时的移动次数 k就是答案,直接返回。因为如s≥target 且 (s−target)mod2=0,我们只需要把前面 (s−target)/2这个正整数变为负数,就能使得 s与 target相等。第 i 次移动(从 i == 1 开始,到 i == numMoves ),在选择的方向上走 i 步。第二次移动,从 1 到 -1。
2022-11-04 14:48:57
1045
1
原创 ACM常用算法模版(常用函数与STL、重要公式与定理)
如果格子[i, j]有元素a[i, j],则[i+1, j]要么没有元素, 要么a[i+1, j] > a[i, j]从浙大同学那偷的acm的一些板子,与大家分享。priority_queue 优先队列, empty(), top(), pop(), push()queue 队列, empty(), front(), pop(), push()stack 栈, empty(), top(), pop(), push()sort() 排序, O(N log(N))
2022-10-24 22:26:04
827
原创 【leetcode】921.使括号有效的最少添加
例如,如果 s = "()))" ,你可以插入一个开始括号为 "(()))" 或结束括号为 "())))"。若 c为右括号,此时如果栈不为空,且栈顶元素为左括号,则将栈顶元素出栈,表示匹配成功;时间复杂度为 O(n),空间复杂度 O(n)。给定一个括号字符串 s ,移动N次,你就可以在字符串的任何位置插入一个括号。遍历结束后,栈中剩余的元素个数即为需要添加的括号数。它可以被写作 (A),其中 A 是有效字符串。若 c 为左括号,直接将 c入栈;输入:s = "())"输入:s = "((("
2022-10-04 09:51:54
729
原创 盛水最多的容器(双指针) leetcode
假设状态 S(i, j)下 h[i] < h[j],在向内移动短板至 S(i + 1, j),则相当于消去了 S(i,j−1),S(i,j−2),...,S(i,i+1) 状态集合。设两指针 i, j,指向的水槽板高度分别为 h[i], h[j] ,此状态下水槽面积为 S(i, j)。解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。若向内 移动短板 ,水槽的短板 min(h[i], h[j])可能变大,因此下个水槽的面积可能增大。输入:[1,8,6,2,5,4,8,3,7]
2022-09-19 12:20:05
174
原创 特征数组的特征值 leetcode
如果存在一个数 x ,使得 nums 中恰好有 x 个元素 大于或者等于 x ,那么就称 nums 是一个 特殊数组 ,而 x 是该数组的 特征值。根据特征值 x 的定义,xx一定是在 [1, n]范围内的一个整数,其中 nn 是数组 nums 的长度。如果 x = 0,应该有 0 个元素 >= x,但实际有 2 个。如果 x = 1,应该有 1 个元素 >= x,但实际有 0 个。如果 x = 2,应该有 2 个元素 >= x,但实际有 0 个。输入:nums = [0,4,3,0,4]
2022-09-12 00:34:25
427
原创 leetcode两数之和 c++
当我们使用遍历整个数组的方式寻找 target - x 时,需要注意到每一个位于 x 之前的元素都已经和 x 匹配过,因此不需要再进行匹配。给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。输入:nums = [2,7,11,15], target = 9。输入:nums = [3,2,4], target = 6。
2022-09-12 00:05:28
117
原创 mysql数据库笔记
本文是老杜mysql课程的笔记 这个系列详细讲解了MySQL的相关知识,包括MySQL概述,MySQL应用环境,MySQL系统特性,MySQL初学基础,MySQL管理工具,如何安装MySQL及MySQL新特性,本文主要介绍了mysql入门的知识
2022-09-05 11:06:16
275
原创 c++ RTTI 运行时类型识别
文章摘自 C++从入门到精通(第四版)清华大学出版社运行时类型识别(Run-time Type Identification,RTTI)是在只有一个指向基类的指针或引用时所确定的一个对象的类型。在编写程序的过程中,往往只提供了一个对象的指针,但通常在使用时需要明确这个指针的确切类型。利用RTTI就可以方便的获取某个对象指针的确切类型并进行控制。RTTI可以在程序运行时通过某一对象的指针确定该对象的类型。许多程序设计人员都使用过虚基类编写面向对象的功能。通常在基类中定义了所有子类的通用属性或行为。但有些时候子
2022-06-07 16:17:22
328
原创 c++ 指针删除中间星号
请完成一个函数fun,该函数的形参a是一个字符指针,该指针指向一个只包含字母和*号的字符串。该函数的功能是:除了字符串前后导的*号之外,将串中其他的*号全部删除。例如,字符串中的内容为“***A*BC**D****”,则处理后的字符串为“***ABCD****”设置两个指向字符的指针变量t和f。先使用循环语句让t指针指向字符串中最后一个字符,而f指针指向字符串中第一个字符;再判断t和f指向的字符是否为“*”,如果为“*”,则t指针自减,f指针自增,直到遇到第一个不是的字符为止。#include.
2022-05-25 17:18:58
935
原创 c++类与对象 学生管理
1. 学生类 Cstudent 及完整程序的设计(1) 公有数据成员:姓名 name、学号 studentId、成绩 score。 (2) 成员函数:modify()用于修改信息,print()负责显示数据成员的值;构造函数对数据成员初始 化。 (3) 主函数:创建类的对象 student_a,初始化姓名为“张三”、学号 20170301001、成绩 86,创建 对象 student_b,student_b 调用 modify()设置姓名为“李四”、学号 20170301002、成绩 6
2022-05-02 16:45:08
1585
原创 c++ 类与对象应用题
#include<bits/stdc++.h>using namespace std;class tank{ private: int F; int vin; int vout; int gravity; public: tank():F(0),vin(0),vout(0),gravity(0){ } ~tank(){ }; void se...
2022-05-02 14:00:59
1180
原创 python 手写选择排序(不用sort)
函数mysort(alist)用于计算包含数字的列表的排序(包括升序和降序。不能使用python中的函数sort或sorted)。import randomdef section_sort1(alist): n = len(alist) # 定义外围循环次数 for j in range(n - 1): # 定义min_index最小值的索引为j,目的找出最小值 min_index = j # cur下标移动的范围,比较次数的范
2022-04-28 01:14:32
3183
原创 python 查找指定长度的回文子串
给定一个字符串st和一个正整数n,确定是否有回文类型的子字符串,长度为n。如果是,则打印是,否则打印否。例如:Input:rqasabcbatvn=5Output:abcbaYesst=input()n=int(input())flag=0for i in range(len(st)): if i+n>len(st): #索引超过最大值,直接提前退出 break str_tmp=st[i:i+n] str_tmp_reve.
2022-04-28 00:46:39
1193
原创 python 用字典方法写一个通讯录管理系统
print('|--- 欢迎进入通讯录程序 ---|')print('|--- 1:查询联系人资料 ---|')print('|--- 2:插入新的联系人 ---|')print('|--- 3:删除已有联系人 ---|')print('|--- 4:退出通讯录程序 ---|')contacts = dict()while 1: instr = int(input('\n请输入相关的指令代码:')) if instr == 1: name..
2022-04-08 20:18:09
1514
4
转载 Python 判断子序列
判断子序列版权属于:https://fishc.com.cnO#.s-*T;S[48tvmGw>dF6}=gpR给定字符串 s 和 t ,请编程判断 s 是否为 t 的子序列。79g)=Tx|`v{<8FB,hmIkQ9LAS!y?*M'qR[~pn字符串的子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串(例如,"ace" 是 "abcde" 的子序列,而 "aec" 则不是)。_(I<y&mnDs = input("请输入字符串s:.
2022-04-06 13:40:33
2060
2
原创 一篇文章读懂c++ STL(标准模版库)
一.几种常见的数据结构1.简述STL标准模版库(Standard Template Library,STL),是根据本地c++标准规范定义的一套功能强大,适用范围广的函数模版、类模版的库,它主要包含容器、算法、函数对象等内容。容器:实现了多个类型的数据结构和一些相关的操作。算法:提供了排序、查找、替换等功能的函数。函数对象:C++运算符重载的进一步应用,类模板实例化后很多工作都需要它的支持。首先简单介绍一下一些数据结构的基本概念。2.顺序线性结构数据结构本身是一种集合...
2022-04-06 00:25:18
896
原创 一篇文章读懂类模板
使用template关键字不仅可以定义函数模版,也可以定义类模板。类模板代表一族类,是用来描述通用数据类型或处理方法的机制。它使类中的成员函数和数据成员可以取任意的数据类型。类模板可以说是说是用类生成类,减少了类的定义数量。1.类模板的定义与声明:类模板的一般定义形式如下:template<类型形式参数表>class 类模板名{ //类模版体 }类模板成员函数形式定义如下:template<类型形式参数表>返回类型 类模版名 <类型名表>
2022-03-30 15:01:40
1964
原创 一篇文章读懂c++多态
文章摘自:c++从入门到精通(第四版 清华大学出版社)多态性(polymorphism)是面向对象编程的一个重要特征。利用多态性可以设计和实现一个易于拓展的系统。在C++语言中,多态性是指具有不同功能的函数可以共用一个函数名,这样就可以用一个函数名调用不同的函数。而不同的行为是指不同的实现。多态性通过联编实现。联编是指一个计算机程序本身彼此关联的过程。按照联编所进行的阶段不同,可以分为两种不同的联编方法:静态联编和动态联编。在C++中,根据联编的时刻不同,存在两种类型的多态性,即函数重载和虚函数。
2022-03-28 00:22:17
239
原创 一篇文章读懂C++ 重载运算符
文章来源:c++从入门到精通(第四版 清华大学出版社)运算符实际上是一个函数,所以运算符的重载实际上是函数的重载,。编译程序对运算符的重载的选择,遵循函数重载的选择原则。当遇到不很明显的运算时,编译程序会寻找与参数相匹配的运算符函数。1.重载运算符的必要性C++语言中的...
2022-03-26 19:41:40
1565
原创 一篇文章读懂C++ 继承
文章来源:c++从入门到精通继承(inheritance)是面向对象的主要特征(此外还有封装和多态)之一,它使得一个类可以从现有的类中派生,而不必重新定义一个新的类。继承的实质是用已有的数据类型创建新的数据类型,并保留已有数据类型的特点,以旧类为基础创建新类,新类包含了旧类的数据成员和成员函数,并且可以在新类中添加新的数据成员和成员函数。旧类被称为基类或父类,新类被称为派生类或子类。1.类的继承class 派生类名标识符:[继承方式] 基类名标识符{ [访问控制修饰符:] [成员声明
2022-03-26 00:07:28
1259
原创 python 输出素数并输出素数个数
输出1到100的素数并输出素数个数这个计数可以从后往前减from math import sqrta=1b=100counter=b-a+1for i in range(a,b+1): if i==1: counter-=1 elif i==2: print(2) continue#计数器不变跳出当前循环 elif i==3: print(3) continue else: .
2022-03-23 22:08:25
5953
原创 python将输入语句中的字母、空格、数字和其他字符分别输出
python将输入语句中的字母、空格、数字和其他字符分别输出str=input("输入任意字符")#列出四种类型的列表来盛放相应的字符letters=[]spaces=[]digits=[]others=[]for i in iter(str):#用到iter函数 if i.isalpha()==True: letters.append(i) elif i.isspace()==True: spaces.append(i) elif
2022-03-23 21:55:54
2544
原创 设计一个学生类,通过该类能够得到学生总成绩(学分*单科分数)。研究生类从学生类派生而来,每个研究生都有导师指导,编写程序,实现对研究生成绩的访问,并且打印出该生的导师名字。
设计一个学生类,通过该类能够得到学生总成绩(学分*单科分数)。研究生类从学生类派生而来,每个研究生都有导师指导,编写程序,实现对研究生成绩的访问,并且打印出该生的导师名字。(要求所有类的设计用到构造函数)#include<bits/stdc++.h>using namespace std;class student{ int score1,credit1; int score2,credit2; int total;public: student(int s1,int c1,
2022-03-22 12:49:13
162
原创 定义CDate和CTime类并利用友元函数输出日期
定义日期类CDate,包含年、月、日三个int型私有数据成员; 定义时间类CTime,包含时、分、秒三个int型数据成员,以及一个CDate型数据成员;在CTime中定义一个函数void display( )函数,用于显示日期和时间; 为类CDate和CTime编写必要的成员函数和构造函数; 定义CTime的成员函数display(),输出日期和时间; 把CTime的成员函数display()改为友元函数,并测试之; 编写函数main(),定义CTime的对象,测试其成员函数并截图运行结果。.
2022-03-21 11:23:26
1154
转载 C++的STL中accumulate的用法
accumulate定义在#include<numeric>中,作用有两个,一个是累加求和,另一个是自定义类型数据的处理1.累加求和int sum = accumulate(vec.begin() , vec.end() , 42);accumulate带有三个形参:头两个形参指定要累加的元素范围,第三个形参则是累加的初值。accumulate函数将它的一个内部变量设置为指定的初始值,然后在此初值上累加输入范围内所有元素的值。accumulate算法返回累加的结果,其返回类型就是
2022-03-20 22:13:42
156
转载 结构体内嵌比较函数bool operator < (const node &x) const {}
关于结构体内嵌比较函数:一般情况下:struct node{ int l,r; bool operator <(const node &a)const{ return r < a.r; }}a[maxn];直接写比较函数是裸的r表示当前的值,如果r<a.r,那么就是从小到大排序,但是优先队列的是相反的。sort默认为从小到大排序,优先队列默认为从大到小。struct node{ int l,r;
2022-03-20 13:33:50
6118
2
原创 蓝桥杯 最大公共子串
题目描述最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少。比如:“abcdkkk” 和 “baabcdadabc”,可以找到的最长的公共子串是"abcd",所以最大公共子串长度为4。下面的程序是采用矩阵法进行求解的,这对串的规模不大的情况还是比较有效的解法。请分析该解法的思路,并补全划线部分缺失的代码。#include <stdio.h>#include <string.h>#define N 256int f(const char*
2022-03-16 22:07:19
381
原创 蓝桥杯 取数位
题目描述求1个整数的第k位数字有很多种方法。以下的方法就是一种。// 求x用10进制表示时的数位长度 int len(int x){ if(x<10) return 1; return len(x/10)+1;} // 取x的第k位数字int f(int x, int k){ if(len(x)-k==0) return x%10; return _____________________; //填空} int main(){ int x = 23574; p
2022-03-16 21:54:48
294
原创 蓝桥杯 日期问题
题目描述小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。比如02/03/04,可能是2002年03月04日、2004年02月03日或2004年03月02日。给出一个文献上的日期,你能帮助小明判断有哪些可能的日期对其对应吗?输入一个日期.
2022-03-16 21:46:06
119
1
原创 【c语言】通讯录管理系统源码
话不多说代码在下面#include<stdio.h>#include<stdlib.h>#include<dos.h>#include<string.h>typedef struct Info{char name[15];/*姓名*/char city[10];/*城市*/char province[10];/*省*/char state[10];/*国家*/char tel[15];/*电话*/};typedef str.
2022-01-07 18:06:23
510
1
原创 用一局王者的时间 彻底拿下c语言指针(覆盖c语言各个部分 考试周限定超详细版)
指针总结1.什么时候用指针?1.需要改变实参的时候,只能用指针。2.传递大型结构并且"只读"其元素的时候。因为大型结构通过值传递,需要拷贝其每个元素,这样效率太低3.需要遍历数组或频繁引用其元素时,这样效率比使用下标高。4.动态分配空间时,必须使用指针。5.传递数组时,必须使用指针。6.函数返回多个值,某些值就必须通过指针带回。7.函数返回运算的状态,结果通过指针返回。例如如下代码要返回两个值(即最大值和最小值),而return只能返回一个,就...
2022-01-01 02:23:28
974
原创 大一新生的年度总结
我是一个普普通通的18岁大一计算机科学与技术专业学生。下面是我对2021年的总结。高考结束,放开玩了三个月。来到学校被大佬们的水平狠狠打击到了—他们有的是从高中甚至更早之前就已经开始学习编程的oi人,有的是在得知自己被计科专业录取就开始学习c语言的卷王,还有转专业的厉害学长学姐…而我只是一个连excel都不太会用,dev c++都不知道是什么的菜鸟而已。更惨的是,在初学c语言的时候,由于一些原因,我少上了三个星期的课,期中考试也没考好。“迷茫”成了我大学开始时的关键词。高中是老师逼着学,大学是同学逼着卷
2021-12-31 09:49:18
2680
12
原创 拿下c语言结构体
在c语言中 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许存储不同类型的数据项。结构体,也可简称为结构,是一种由若干成员组成的自定义数据类型。 每一个成员可以是不同的数据类型(基本数据类型或构造数据类型)。 结构类型必须先定义,然后才能使用。结构用于表示一条记录,假设想要获得图书馆中书本的信息,可能需要跟踪每本书的下列属性:Title Author Subject Book ID1.定义结构为了定义结构,须使用 struct 语
2021-12-29 20:51:19
1371
原创 c语言字符串函数strcat strcpy strlen strcmp的用法及原型
strcat的用法及原型strcat(str1,str2) 意为将字符串str2连接到字符串str1之后strcat用法如下#include <stdio.h>#include <string.h> int main (){ char src[99], dest[99]; strcpy(src, "This is source"); strcpy(dest, "This is destination"); strcat(de.
2021-12-29 02:21:22
11807
3
双线链表基本操作不太懂
2022-10-03
友元函数 编译不通过 第二个类中显示定义的函数不在该类里 为什么呢
2022-06-02
没有运行结果 想知道怎么改
2022-06-02
只能写成这样了 想知道怎么改
2022-06-01
为什么函数执行之后值不会变呢
2022-05-11
这个输出结果为什么是11 strlen算的都是谁的
2022-05-10
代码里面有一个语句没有看懂是什么意思
2022-05-09
这个l j k分别是几捏
2022-05-05
这个编译不通过想知道怎么改
2022-05-02
这个为什么是120呢
2022-04-30
这个输出为什么是5呢
2022-04-30
这个答案为什么是这样的呢
2022-04-30
c++11 lambda 我想求10个随机数的平方和 中间那一点不会写的 怎么写呢
2022-04-30
c++仿函数 最后的输出没有发挥它的作用 怎么改呢
2022-04-29
python函数参数问题
2022-04-28
用get方法记录字母出现的次数
2022-04-28
python break的问题
2022-04-28
python浅复制和深复制问题
2022-04-25
后面的要求不会实现了 想知道怎么写
2022-04-25
python format格式化输出的问题
2022-04-24
python 这个为什么错了捏
2022-04-24
关于这两个题的运行结果 原理是什么呢
2022-04-21
python函数参数定义问题
2022-04-21
这个运行结果是怎么看的呢
2022-04-21
python中is的用法不太明白
2022-04-21
这个代码增加 删除 修改成绩信息不会写 想知道怎么写
2022-04-19
二维数组传参传不过去想知道怎么改
2022-04-17
这个fseekg怎么看的呀
2022-04-17
私有派生类可以访问基类的保护成员吗
2022-04-17
静态变量的问题 这个答案怎么来的捏
2022-04-16
这个结果是怎么看的哇
2022-04-16
这个D为什么不对捏 char **s是什么意思呢
2022-04-16
c++纯虚函数的问题
2022-04-14
将原有代码用类模板并设计两个拷贝构造函数实现
2022-04-13
这个调用顺序为什么是这样的捏
2022-04-13
这个为什么是open error啊 想知道哪里错了怎么改
2022-04-12
函数模板 这个c d不太明白 想知道为什么
2022-04-12
这个malloc这一项为什么sizeof是4哇
2022-04-11
这个代码编译不通过想知道怎么改
2022-04-11
关于结构体改成类的问题 怎么实现呢
2022-04-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人