- 博客(53)
- 收藏
- 关注
原创 【滑动窗口的最大值】给定一个长度为 n 的数组 nums 和滑动窗口的大小 size ,找出所有滑动窗口里数值的最大值。
【思路1】暴力【思路2】利用一个队列维护这个窗口,队【0】出总是最大值,当滑到最新的元素时,判断队【0】是否还在窗口中,不在的话将其取出。然后判断最新的元素是否比其前面的大,如果比前面的大则将前面的取出(表示前面的已经没有用了),然后将这个最新的元素加入队,注意每次最新的都要加进去,即使不是最大也要加进去,因为有可能此时不是最大,但随着滑动窗口的滑动,前面比它大的滑出,然后它可能就是最大的了。最后将每个滑动窗口队[0]加如答案。注意队列存的是下标,并不是值class Solution: de.
2022-04-21 15:49:25
1400
原创 【合并K个已排序的链表】合并 k 个升序的链表并将结果作为一个升序的链表返回其头节点。
【思路】分治合并# class ListNode:# def __init__(self, x):# self.val = x# self.next = None## 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可## # @param lists ListNode类一维数组 # @return ListNode类#class Solution: def mergelist(lists,l,r): .
2022-04-16 16:37:28
503
原创 【链表中的节点每k个一组翻转】将给出的链表中的节点每 k 个一组翻转,返回翻转后的链表
【思路一】链表从前往后遍历,创建一个phead,每次进栈k个,然后栈内节点出栈,实现反转,如果不够k个,则不用反转。class Solution: def reverseKGroup(self , head: ListNode, k: int) -> ListNode: if not head:#如果为空,直接返回 return if k==1:#如果k==1,直接返回头节点 return head .
2022-04-16 13:37:21
426
原创 求两个字符串的第一个最长公共子串
#include<iostream>#include<string.h>#include<vector>using namespace std;string fun(string a, string b) { int n1 = a.length(); int n2 = b.length(); int i, j; int p; string ans; int max = 0; vector<vector<int>>x(n1 +
2020-11-09 18:40:11
226
原创 用扑克牌玩“抽老鳖”的代码实现---代码的第一个版本(有很多不足)。
#include<stdio.h>#include<iostream>#include<stdlib.h>#include<time.h>#define FACE 13#define SUIT 4#define CARD 52using namespace std;struct card { int faces; const char* suits;};//牌面的信息struct person { int shu[20]; in
2020-10-12 21:53:21
1104
1
原创 前缀和,今天qwb要参加一个数学考试,这套试卷一共有n道题,每道题qwb能获得的分数为ai,qwb并不打算把这些题全做完, 他想选总共2k道题来做,并且期望他能获得的分数尽可能的大,他准备选2个不连续
#include <iostream>#include <algorithm>#include <string.h>#include <string>using namespace std;long long int x[200001], sum[200001] , p[200001], dp[200001], ddp[200001];int main() { int t; cin >> t; int i; for (i = .
2020-09-30 22:51:38
690
原创 从前,有n只萌萌的糖糖,他们分成了两组一起玩游戏。他们会排成一排,第i只糖糖会随机得到一个能力值bi。从第i秒的时候,第i只糖糖就可以消灭掉所有排在他前面的和他不是同一组的且能力值小于他的糖糖。
#include <iostream>#include <algorithm>#include <string.h>#include <string>const int maxx =50002;using namespace std;int max(int a, int b) { if (a > b) { return a; } return b;}int a[maxx] , b[maxx] , c[maxx] ;int.
2020-09-28 19:19:34
467
原创 线性顺序表相关的函数及对函数的调用实例化
#include<iostream>#define max 10typedef int abc;using namespace std;struct lian { abc date[max]; int length; };class lei {public: void creat(lian*& l, abc a[], int n) {//创建一个顺序线性表 int i; int k = 0; l = (lian*)malloc(sizeof(lian)
2020-09-24 22:54:59
697
原创 编写并测试strin类的普通构造函数,复制构造函数,=重载函数,
#include<iostream>#include<iomanip>#include<string>using namespace std;class strin {private: char* s;public: strin(const char* m = NULL); strin(const strin& other); ~strin(); strin& operator=(const strin& other); v
2020-06-16 16:47:25
192
原创 C文件的运用--事物处理程序--功能--创建格式化账号,更新账号,创建新账号,删除账号
格式化账号列表#include<stdio.h>struct ab { int account; char lastname[10]; char firstname[10]; double balance;};int main() { FILE* p; if ((p = fopen("jiang.bat", "wb")) == NULL) { printf("error"); } else { struct ab t = {0,"","",0.0}; int
2020-06-04 07:55:34
184
原创 理解下面的动态数组类模板,它由一系列位置连续、任意数量相同类型的元素组成,其元素个数可在程序运行时改变,并完成该类中没有完成的成员函数(不允许改变已有代码),并设计主函数,实现对该模板类的功能测试
#include<iostream>#include<stdlib.h>using namespace std;enum errortype { invalidArraySize ,memoryAllocatetionError,indexOutOfRang};const char* errorMsg[] = { "invalid Array Size",",memory Allocatetion Error","indexOutOfRang" };template&l
2020-05-31 19:55:35
1148
原创 明码
#include<iostream>#include<string>using namespace std;void bian(int x, string& xx) { if (x >= 0) { int i=0; while (x > 0) { int b; b = x % 2; if (b == 1) { ...
2020-04-05 13:38:51
194
原创 猴子分香蕉问题
#include<iostream>using namespace std;int main() { int i ; for (i = 6;; i++) { int m = i; if (m % 5 != 1) continue; m = m - 1; m = m * 4 / 5; if (m % 5 != 2) continue; m ...
2020-04-05 11:09:39
249
原创 一个整数,只知道前几位,不知道末二位,被另一个整数除尽了,那么该数的末二位该是什么呢?
#include<stdio.h>int main(void) { int a, b; while (scanf_s("%d%d", &a, &b) && (a || b) ){ int c[100]; int i; int t = 0; for (i = 0; i <= 99; i++) { if ((a * 100 +...
2020-03-19 21:39:46
2375
原创 矩阵链乘法问题
#include<stdio.h>int c[20][20];void prin(int i,int j) { if (i == j) { printf("A%d", i); return; } else { printf("("); prin( i, c[i][j]); prin( c[i][j] + 1,j); printf(")"); } ...
2020-03-17 13:57:29
152
原创 两个序列的最长子序列问题
#include<stdio.h>void zhuan( int a1, int a2,int c[][20], int d[][20],int a[],int b[]) { int i, j; for (i = 1; i <= a1; i++) { for (j = 1; j <= a2; j++) { if (a[i] == b[j]) { c...
2020-03-16 17:07:53
192
原创 钢条切割类动态规划算法
#include<stdio.h>void zhuanhuan(int r[],int p[] ,int c[],int n) { int i, j; r[0] = 0; for (i = 1; i <= n; i++) { int x = -1; int t; for (j = 1; j <=i; j++) { if (x < p[j] ...
2020-03-14 22:48:41
176
原创 切面条问题
关键突破:将面条折叠的问题,然后从中间切开,可以从看面条总共被分成了多少层入手,对折N次,面条就变成了二的N次方层,一整条面条总是连接在一起的,切开后每一层面条可以看成一个新的部分,然后总共就有二的N次个新部分,再加上开头,总共就有二的N次方加一个了...
2020-03-10 15:47:47
390
原创 三部排序
#include<stdio.h>void paisu(int a[], int length) { int left = 0, mod = 0, right = length - 1; while (mod <= right) { if (a[mod] < 0) { int t = a[mod]; a[mod] = a[left]; a[le...
2020-03-10 14:27:22
93
原创 输入出生日期和过了多少天就知道这么多天后的日期了
#include<stdio.h>int run(int n) { return ((n % 4 == 0 && n % 100 != 0) || n % 400 == 0);}int main() { int n; while (scanf_s("%d",&n) &&n) { int y = 2001, m = 1, d = 8...
2020-03-09 15:21:35
162
1
原创 Given a sequence 1,2,3,......N, your job is to calculate all the possible sub-sequences that the sum
#include<stdio.h>#include<math.h>int main(void) {long long n, m; while (scanf_s("%lld%lld", &n, &m) && (n || m)) { long long t; t = sqrt(2 * m); long long i, j...
2020-03-07 15:16:28
2079
2
原创 直线分平面,平面分空间所得区域最大类问题
n条直线最多分平面问题 题目大致如:n条直线,最多可以把平面分为多少个区域。 析:可能你以前就见过这题目,这充其量是一道初中的思考题。但一个类型的题目还是从简单的入手,才容易发现规律。当有n-1条直线时,平面最多被分成了f(n-1)个区域。则第n条直线要是切成的区域数最多,就必须与每条直线相交且不能有同一交点。这样就会得到n-1个交点。这些交点将第n条直线分为2条射线和n-2条线断。而每...
2020-03-06 21:44:39
248
原创 Give you two numbers A and B, if A is equal to B, you should print "YES", or print "NO".
#include<stdio.h>#include<string.h>int main(void) { char a[100000], b[100000]; while (scanf("%s%s", a, b) != EOF) { int aa = 0, bb = 0; int a1 = strlen(a), b1 = ...
2020-02-25 12:04:32
3385
原创 假设一共有N对新婚夫妇,其中有M个新郎找错了新娘,求发生这种情况一共有多少种可能.递归的应用,错排的应用
#include<stdio.h>int main(void) { long long int j; long long int a[21] = {0,0,1}; for (j = 3; j < 21; j++) { a[j] = (a[j - 1] + a[j - 2]) * (j - 1); } long long int b[21] = { 1,1 };...
2020-02-23 15:27:25
742
原创 杭电神上帝老天爷多个人错排递归的应用
#include<stdio.h>int main(void) { long long int j; long long int a[21] = {0,0,1}; for (j = 3; j < 21; j++) { a[j] = (a[j - 1] + a[j - 2]) * (j - 1); } long long int b[21] = { 0,1 };...
2020-02-23 14:40:17
123
原创 杭电 阿牛的EOF牛肉块
#include<stdio.h>int main(void) { long long int a[40]; a[1] = 3; a[2] = 8; int j; for (j = 3; j < 40; j++) { a[j] = (a[j - 1] + a[j - 2])*2; } int n; while(scanf_s("%d", &n)!=...
2020-02-19 21:05:40
100
原创 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
#include<stdio.h>double jie(double n);int main(void) { int i, n; scanf_s("%d", &n); for (i = 0; i < n; i++) { int b; double a, k, l, yi, er; scanf_s("%d", &b); b--; if...
2020-02-15 12:50:40
5815
1
原创 作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以及王小丫的《开心辞典》等等,假设你已经知道了所有你喜欢看的电视节目的转播时间表,你会合
#include<stdio.h>int main() { int n; while (scanf_s("%d", &n) && n) { int a[100][2]; int i, j; int tem; for (i = 0; i < n; i++) { for (j = 0; j < 2; j++) { s...
2020-02-14 20:27:34
395
原创 知道多边形的各点坐标,求面积
#include<stdio.h>int main(void) { int n; while (scanf_s("%d", &n) && n) { int a[100], b[100]; int i; for (i = 0; i < n; i++) { scanf_s("%d%d", &a[i], &b[i]);...
2020-02-13 18:25:46
2277
原创 求A^B的最后三位数表示的整数。 说明:A^B的含义是“A的B次方”
#include<stdio.h>int main(void) { int a, b; while (scanf_s("%d%d", &a, &b) && (a || b)) { int i; int k = a; for (i = 1; i < b; i++) { a = a * k; if (a > 100...
2020-02-13 13:23:39
3297
原创 参加过上个月月赛的同学一定还记得其中的一个最简单的题目,就是{A}+{B},那个题目求的是两个集合的并集,今天我们这个A-B求的是两个集合的差,就是做集合的减法运算。(当然,大家都知道集合的定义,就是
#include<stdio.h>int main(void) { int m, n; while (scanf_s("%d%d", &n, &m) && (m != 0 || n != 0)) { int a[100], b[100], c[100]; int i; int k = 0; for (i = 0; i < n...
2020-02-12 21:21:58
2148
原创 HDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。 这个题目的A和B不是简单的整数,而是两个时间
#include<stdio.h>int main(void) { int n; scanf_s("%d", &n); int i; for (i = 1; i <= n; i++) { int h1, h2, m1, m2, s1, s2, h, m, s, sz; scanf_s("%d%d%d%d%d%d", &h1, &m1,...
2020-02-12 20:22:34
1509
原创 输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1n30),表示将要输出的杨辉三角的层数。
#include<stdio.h>double jie(double n);int main(void) { double n; while (scanf_s("%lf", &n) != EOF) { double i; double j; for (i = 1; i <= n; i++) { for (j = 0; j < i; j++...
2020-02-11 13:27:06
8438
原创 输入一个十进制数N,将它转换成R进制数输出。
#include<stdio.h>#include<string.h>int main(void) { int n; int r; while (scanf_s("%d%d", &n,&r) != EOF) { char a[16] = { '0','1','2','3','4','5','6','7','8','9','A','B','C'...
2020-02-09 13:21:04
1279
原创 “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。
# include <stdio.h># include <string.h>int main (void){ int n; while (scanf("%d",&n)!=EOF) { int i,length,count; char a[1000],b[1000]; while (n--) { coun...
2020-02-08 20:14:10
9434
1
原创 “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。
#include<stdio.h>#include<string.h>int main(void) { int n; while (scanf_s("%d", &n) != EOF) { int i; for (i = 1; i <= n; i++) { int j; int m; char a[100]; sca...
2020-02-08 19:36:21
5001
原创 求n个数的最小公倍数
#include<stdio.h>int main(void) { int n; while (scanf_s("%d", &n) != EOF) { int a[100]; int i; for (i = 0; i < n; i++) { scanf_s("%d", &a[i]); } int b; int k = 0; ...
2020-02-08 17:41:04
127
原创 输入一个英文句子,将每个单词的第一个字母改成大写字母。
#include<stdio.h>int main(void) { char a[100]; while (gets_s(a) != '\0') { a[0] = a[0] - 32; int i; for (i = 1; a[i] != '\0'; i++) { if (a[i] == ' ') { a[i + 1] = a[i + 1] - 32;...
2020-01-30 17:13:22
11736
3
原创 对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。
#include<stdio.h>int main(void) { char a[100]; while (scanf_s("%99s", a, 100) != EOF) { int i; char b = a[0]; for (i = 1; a[i] != '\0'; i++) { if (b < a[i]) { b = a[i]; }...
2020-01-30 12:35:58
11468
1
原创 输入一个字符串,判断其是否是C的合法标识符。
#include<stdio.h>#include<stdlib.h>int main(void) { int i, j; int n; int m = 1; scanf_s("%d", &n); getchar(); while(m <= n){ char a[50]; gets(a); for (j = 0; a[j] !...
2020-01-29 12:35:49
3099
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人