- 博客(22)
- 收藏
- 关注
原创 牛客题霸--子数组的最大累加和问题题解
题目链接:牛客题霸–子数组的最大累加和问题来源:牛客网《数据结构》最大子列和模板题, 时间复杂度 O(n)class Solution {public: int maxsumofSubarray(vector<int>& arr) { int maxn = 0, thismaxn = 0; for ( int i = 0; i < arr.size(); i++ ) { thismaxn += arr[.
2020-11-07 00:53:13
203
原创 牛客题霸--两数之和题解
题目链接:牛客题霸–两数之和来源:牛客网暴力搜索一下, 时间复杂度 O( 小于 n^2)class Solution {public: vector<int> twoSum(vector<int>& numbers, int target) { vector<int>vec; for ( int i = 0; i < numbers.size(); i++ ) { for ( int.
2020-11-07 00:40:42
234
原创 牛客题霸--括号匹配题解
题目链接:牛客题霸–括号匹配来源:牛客网用栈的性质来解题当栈为空时: 把字符入栈不为空时: 比较当前元素和栈顶是否匹配, 如果匹配, 则出栈最后判断栈中的元素就是不可匹配的字符class Solution {public: bool isValid(string s) { stack<char>se; for ( int i = 0; i < s.size(); i++ ) { if ( se.size() .
2020-11-07 00:26:51
313
1
原创 牛客题霸--用两个栈实现队列题解
题目链接:牛客题霸–用两个栈实现队列来源:牛客网思路:入栈时: 栈 1 入栈出栈时:一. 把栈 1 的元素存入栈 2二. 把栈 2 的 top 存入一个变量Top中三. 把栈 2 的元素再倒回栈 1四. 返回 Top (就是队首元素)的值class Solution{public: void push(int node) { stack1.push(node); } int pop() { while(!stack1.em.
2020-11-07 00:06:02
135
原创 牛客题霸--跳台阶题解
题目链接:牛客题霸–跳台阶来源:牛客网算出前几项就可以找到此规律class Solution {public: int jumpFloor(int number) { int a[10010]; a[0] = 0, a[1] = 1, a[2] = 2; for ( int i = 3; i < 10010; i++ ) a[i] = a[i-1] + a[i-2]; return a[number]; }}.
2020-11-06 23:42:14
66
原创 牛客题霸--最长回文子串题解
题目链接:牛客题霸–最长回文子串来源:牛客网马拉车算法求最长回文子串class Palindrome {public: int getLongestPalindrome(string A, int n) { string str = "@#"; int p[100010], id = 0, mx = -1, maxn = -1; memset(p, 0, sizeof(p)); for ( int i = 0; i &l.
2020-11-06 13:32:02
181
原创 牛客题霸--反转字符串题解
题目链接:牛客题霸–反转字符串来源:牛客网暴力, 原始字符串取反存入新字符串class Solution {public: string solve(string str) { string reverse_str; for ( int i = str.size()-1; i >= 0; i--) reverse_str.push_back(str[i]); return reverse_str; .
2020-11-06 13:00:52
158
原创 关于 BFS,看完这个模板你还不会嘛??
楠楠楠, 难于上青天 ^ _ ^浅谈 bfs:最熟悉的不过迷宫寻路,最短路径问题,想到这个大家都知道 bfs, bfs, bfs, 但是却不知道怎么取实现bfs 原理:迷宫问题, bfs 底层是基于队列实现, 这样有利于遍历所有的解,然后取到最优解,也可以用递归法取遍历所有的解话不多说,所以直接上模板吧第一模板是迷宫的方向,我们看别人代码时是否会常常看见这样的代码其实这个就是寻路的方向, /* 四个方向, 上, 右, 下, 左 */int d[4][2] = { {1,0}, {0,1},
2020-08-17 14:24:21
268
原创 牛牛质数
思路:根据题意,使表达式 x*y == n*p 成立,所以满足 x 或 y 是 p 的倍数即可看样例所以此题的解法就是在两个区间内找到 p 的倍数的数,用到前缀和的思想在 [ a, b ] 中把 [ 0, b ] 内 p 的倍数的个数求出, 直接 b/p同理 ,[ 0, a ] 内的 a/p;所以在 [ a, b ] 区间内的 p 的倍数的个数就是 ans = b/p - a/p ;在看样例:横着的是 x 区间的数 * y 区间的长度竖着的是 y 区间的数 *
2020-08-15 22:54:48
108
原创 怎样快速建堆??这样做其实很简单
插入建堆(最小堆为例)int h[1001], size, m, n;void create () { // 这里是初始化, 堆实际上是一个数组, size = 0; h[0] = -10001; /* 设置岗哨 */}void insert ( int x ) { int i; /* 换位置 */ for ( i = ++size; h[i / 2] > x; i /= 2 ) h[i] = h[i / 2]; h[i]
2020-08-14 12:17:46
498
原创 新手小白必看 -- vector 和 链式前向星 存无权图
学习数据结构有两种常见的 邻接表 和 矩阵,矩阵太费空间, 表写起来很复杂vector 优点:动态内存管理, 更节省空间vector 的写法, 直接背模板就好啦/* vector 无权无向图 4 4 1 4 4 2 2 3 3 1 DFS(1); 结果 1 4 2 3*/#include<bits/stdc++.h>using namespace std; vector<int> v[105]; // 这
2020-05-30 23:44:23
914
原创 PTA - 推断学生所属学校的人数 (简单的并查集问题 )
某个比赛现场有来自不同学校的N名学生,给出M对“两人同属一所学校”的关系, 请推断学校数量,并找出人数最多的学校题意其实很简单,但是思路该怎么写呢?其实这就是一个简单的并查集问题, 什么是并查集?链接 :https://blog.csdn.net/zjy_code/article/details/80634149?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&am
2020-05-11 18:50:46
1032
1
原创 CSS 常用标签(供复习用)
一.CSS 字体font-size: 设置文本大小font-family:设置文本字体font-style:设置文本字体的样式3.1. font-style:normal - 默认值,正常的字体3.2. font-style:italic :斜体,对于没有斜体变量的特殊字体,将应用 oblique。3.3. font-style:oblique :倾斜的字体font-weight:...
2020-04-02 02:42:57
145
原创 C++ STL两个有序链表的-合并-交集-并集
前提:两个链表必须是有序的定义3个数组vector<int>a,b,c; //a 链表1,b 链表2,c 储存操作后的元素保存到数组 c 中merge(a.begin(),a.end(),b.begin(),b.end(),c.begin()); //合并set_union(a.begin(), a.end(), b.begin(), b.end(), back_inser...
2020-02-28 20:48:18
703
原创 PTA - 点赞狂魔 最简( 36行写出 25 分 简单 set 容器的使用)!!!!
微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。然而有这么一种人,他们会通过给自己看到的一切内容点赞来狂刷存在感,这种人就被称为“点赞狂魔”。他们点赞的标签非常分散,无法体现出明显的特性。本题就要求你写个程序,通过统计每个人点赞的不同标签的数量,找出前3名点赞狂魔。输入格式:输入在第一行给出一个正整数N(...
2020-02-21 02:27:59
352
原创 VSCode配置C/C++ 4.VSCode的配置文件
简单介绍一下,就是 这4 个文件 在桌面新建一个文件夹,进入,然后在建立两个文件夹.vscode 里面就是那4 个文件 cpp 是装写的代码的cpp 是装写的代码的3. 然后创建那 4个文件 注意:文件类型是 .json (用简单的记事本就可以)c_cpp_properties.json这里有路径问题(第13行,改成你的mingw 安装的目录就行啦){ "con...
2020-02-19 20:59:00
302
原创 PTA - 字符串循环左移 (20分 c++ STL)
输入一个字符串和一个非负整数N,要求将字符串循环左移N次。输入格式:输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。输出格式:在一行中输出循环左移N次后的字符串。输入样例Hello World!2输出样例:llo World!He题意就是将开头的第一个字符移动到最后,次数是N;理解了题意,那么就好解题了思路:就是将第一个...
2020-02-16 19:55:14
290
原创 PTA - 两个有序链表序列的合并 (c++ STL merge 函数的使用 附注释)
已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 3 5 -12 4 6 8 10 -1输出...
2020-02-13 04:08:08
815
原创 PTA - 多项式求和 (20分 附注释)
PS:题目提示说不要使用内置求幂函数,但是我用了也没有报错。输入格式:第一行为一个整数n和一个浮点数x0。其中0≤n≤30,000,表示多项式次数;x0为多项式中的变量x的取值。 第二行为空格分割的n+1个浮点数,由高到低表示多项式中项的系数。可以假设输入总是合法的。输出格式:输出多项式的求值结果,保留三位小数,以换行结尾。输入样例:例如:3 1.01 2 3 4...
2020-02-09 03:06:34
4790
2
原创 PTA - 6翻了 (15分 附注释 c++)
L1 - 056 (15分)“666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那就错啦 —— 目前的最高境界是数字“27”,因为这是 3 个 “9”!本题就请你编写程序,将那些过时的、只会用一连串“6666……6”表达仰慕的句子,翻译成最新的高级表达。输入格式:输入在一行中给...
2020-01-18 22:52:45
1383
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人