笔记
ndlg
这个作者很懒,什么都没留下…
展开
-
vector笔记
我用容器做题目的时候有时候会混淆不同容器的用法,所以想以笔记形式记录一下,让自己头脑清醒一点。一:vector介绍vector是向量类型也是顺序容器,具有随机存取的特点。 头文件为<vector> 写法:vector<elemtype>name; 可以当成动态数组二:基本使用front(): 返回容器的第一个元素;可以直接输出v.front()也可以赋值再输出; back(): 返回容器最后一个元素;可以直接输出v.back()也可以赋值再输出; pu..原创 2021-12-12 20:16:38 · 694 阅读 · 0 评论 -
leetcode 881.救生艇
思路:1. 如果最左边与最右边之和小于limit,那么直接让船数+1,因为最大的和最小的都达不到那么没必要再考虑别的,直接加,还好这里是两个人,如果是多个人就感觉挺复杂的。2.如果等于也直接加,刚好,这里就合并了。3.如果大于,那么最重的那个自己做一个,因为最大的也就刚好等于limit,然后让右边指针左移一位再判断当前的最重的和最轻的的和的关系。class Solution {public: int numRescueBoats(vector<int>& people,原创 2021-11-04 21:01:28 · 102 阅读 · 0 评论 -
排序查重删除函数
sort函数头文件:c++库中的algorithm作用:排序参数:一般需要三个参数:第一个参数为要排 序数组的起始地址;第二个参数为最后一个要排序数据的后一个数据的地址;第三个参数是要求升序还是降序,也可以不填,默认为升序。注意:参数的第三个sort(first,last,cmp)...原创 2021-10-29 15:19:17 · 179 阅读 · 0 评论 -
字符串匹配之朴素算法
例如我们需要在ababaaabdab这串字符串中找到abd且统计出现了几次。这个时候把abd称为模板。朴素算法的做法:从最左边开始将模板内的字符与字符串进行一一匹配,如果出现不匹配的情况,就将模板向右边移动一位,再重新开始匹配。以此类推。在代码中移动模板的操作可以通过一个变量s的增加来实施,每移动模板一次s就加1,之后再将模板的第i位字符与字符串的s+i位字符进行匹配。...原创 2021-10-29 15:11:57 · 347 阅读 · 0 评论 -
2019蓝桥杯 旋转
【思路】:找规律就行了,第一列是最后一行,然后依次递减。行数等于列数。#include<stdio.h>int main(){ int i,j,x,y; scanf("%d%d",&i,&j); printf("\n"); int a[255][255]; int b[255][255]; for(int z=0;z<i;z++) { for(int q=0;q<j;q++) { scanf("%d",&a[z][q].原创 2021-10-15 12:00:50 · 84 阅读 · 0 评论 -
2019蓝桥杯 矩阵切割
【问题描述】小明有一些矩形的材料,他要从这些矩形材料中切割出一些正方形。当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方形,剩下一块矩形,然后再切割剩下的矩形材料,直到全部切为正方形为止。例如,对于一块两边分别为5 和3 的材料(记为5 X 3),小明会依次切出3 X 3、2X 2、1 X 1、1 X 1 共4 个正方形。现在小明有一块矩形的材料,两边长分别是2019 和324。请问小明最终会切出多少个正方形?【思路】本质就是看谁小边用谁,然后一直循环到大的小于小的,中间换个值接着循环原创 2021-10-14 18:25:35 · 164 阅读 · 0 评论 -
2019蓝桥杯 最大降雨量
【问题描述】由于沙之国长年干旱,法师小明准备施展自己的一个神秘法术来求雨。这个法术需要用到他手中的 49 张法术符,上面分别写着 1 至 49 这 49 个数字。法术一共持续 7 周,每天小明都要使用一张法术符,法术符不能重复使用。每周,小明施展法术产生的能量为这周 7 张法术符上数字的中位数。法术施展完 7 周后,求雨将获得成功,降雨量为 7 周能量的中位数。由于干旱太久,小明希望这次求雨的降雨量尽可能大,请大最大值是多少?#include<stdio.h>int main()原创 2021-10-14 18:04:17 · 156 阅读 · 1 评论 -
2019蓝桥杯 数列求值
【问题描述】给定数列 1, 1, 1, 3, 5, 9, 17, …,从第 4 项开始,每项都是前 3 项的和。求第 20190324 项的最后 4 位数字【思路】题目只需要最后四位那就只用最后四位算,取余就可以了同时,每次在计算前三个的和后要把它们全部右移一位,再计算新的前三个数之和。答案:4659#include <stdio.h>int main(){ int f1,f2,f3,f; f1=f2=f3=1; for(int i=3;i<20190324;i++原创 2021-10-14 13:13:29 · 77 阅读 · 0 评论 -
2019蓝桥杯 平方和问题
问题1【问题描述】小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574,平方和是 14362。注意,平方和是指将每个数分别平方后求和。请问,在 1 到 2019 中,所有这样的数的平方和是多少?#include<iostream>using namespace std;typedef long long ll;int main(){ ll num=0; int j; fo原创 2021-10-14 13:05:10 · 227 阅读 · 1 评论 -
二级指针和strcmp函数
二级指针就是一个指向指针的指针,存储的是指针的地址。int a=10;int*p=&a;int**pl=&p;printf("%d",*p);printf("%d",**pl);p是存储a的地址*p是解引用指向a的值pl是存储p的地址*pl是输出p的地址(*pl=p)**pl是输出p所指向的值,既a的值。(**pl=*p)二级指针作用:改变指针指向的数strcmp函数:1.头文件为string.h2.作用:比较两个字符串常量的大小并输出结果值。3.使用:cha原创 2021-10-13 23:19:18 · 161 阅读 · 0 评论