牛客刷题
GSX_M
这个作者很懒,什么都没留下…
展开
-
牛客 -------- 求表达式 f(n)结果末尾0的个数
牛客 -------- 求表达式 f(n)结果末尾0的个数原创 2022-09-20 12:22:45 · 142 阅读 · 0 评论 -
牛客 -------- 合并二叉树
牛客 -------- 合并二叉树原创 2022-09-20 12:00:53 · 337 阅读 · 0 评论 -
牛客 -------- 硬币划分
牛客 -------- 硬币划分原创 2022-09-19 21:43:36 · 209 阅读 · 0 评论 -
牛客 ---- 复数乘法
牛客 ---- 复数乘法原创 2022-09-17 22:03:51 · 162 阅读 · 0 评论 -
牛客 - HJ71 字符串通配符
牛客解题思路:通过递归求解。①. 从前向后一次匹配,遇到相同字符,都向后移动一个字符,②. 如果通配符遇到"?",则不需匹配,自动跳过一个字符,③. 如果通配符遇到"*",则可以匹配任意多个字符,包括0个,此时可以有三种 选择,匹配0个,通配符向后移动一个字符,字符串不动。 匹配1个,通配符和字符串都向后移动一个 字符。 匹配多个,通配符不动,字符串向后移动一个字符。 递归的终止条件:通配符或者字符串遇到'\0' return false。当他们同时结束 ret...原创 2022-05-09 22:14:43 · 327 阅读 · 0 评论 -
牛客 - 统计每个月兔子的数量
牛客思路: 多试几个月,找出规律。f(n-1)是已有的兔子数量,而f(n-2)是新增加的兔子的数量#include<iostream>using namespace std;int main(){ int month; //迭代 while(cin>>month) { int first=1; int second=1; int sum=0...原创 2022-05-07 22:35:31 · 297 阅读 · 0 评论 -
牛客 - OR44 扑克牌大小
牛客解题思路: (对string应用的考察)先找王炸,王炸是最大的。将两副牌拆分开来,统计每副的个数,如果每副牌个数相等,然后比较每一副第一个牌的大小,如果不等判断是不是炸弹,哪一副是炸弹,哪一副就大。#include<iostream>#include<string>#include<algorithm>using namespace std;string IsMAX(const string&a...原创 2022-05-04 22:50:09 · 454 阅读 · 0 评论 -
牛客 - OR57 手套
牛客解题思路: 覆盖到每一种颜色对于非0递增序列a1,a2...an,要想最终取值覆盖每一个种类 n = sum(a1...an) - a1 + 1(也就是总数减去最小值之后加一)所以对于左右手手套颜色都有数量的序列,想要覆盖每一种颜色,则最小数量leftsum = 左边数量和 -左边最小值 + 1, rightsum = 右边数量和 - 右边的最小值 + 1。而对于有0存在的,则需要做累加,保证覆盖每一种颜色。 对于0的解释:例如: 左边至少覆盖所有颜色(如果左边存在有...原创 2022-05-01 17:19:09 · 206 阅读 · 0 评论 -
牛客 - WY15 幸运的袋子(DFS)
牛客解题思路: 每次从全集中选择若干元素(小球)组成子集(袋子)。对于任意两个正整数a,b如果满足 a+b>ab,则必有 一个数为1.可用数论证明:设a=1+x,b=1+y,则1+x+1+y>(1+x)(1+y),---> 1>xy,则x,y必有一个为0,即a,b 有一个为1.推广到任意k个正整数,假设a1,a2,...ak,如果不满足给定条件,即和sum小于等于积pi。如果此时再选择一个数b,能使其满足sum+b...原创 2022-04-30 19:18:01 · 229 阅读 · 0 评论 -
牛客 - WY28 跳石板 (dp)
牛客解题思路:将1 - M个石板看做一个结果数组stepNum,每个stepNum[i]储存着从起点到这一步最小的步数,其中0为不 能到达。 从起点开始对stepNum进行遍历,先求i的所有约数(即从stepNum[i]能走的步数),然后更新那 几个能到达的位置的最小步数。能到达的位置没有被访问过 , 就更新为此处的最小步数 +1 ,如果被访问过就更新为 min(已记录的最小步数,此处的最小步数 + 1)),遍历一遍后得到结果。#includ...原创 2022-04-28 20:15:47 · 372 阅读 · 0 评论 -
牛客 - HJ74 参数解析
牛客解题思路:对于字符 “ ” 要注意特殊处理,碰到 “ ,直接继续找 ” 进行配对。#include<iostream>#include<string>using namespace std;int main(){ string str; while(getline(cin,str)) { int count = 0; for(int i=0;i< str.size(...原创 2022-04-28 20:05:42 · 427 阅读 · 0 评论 -
牛客 - HJ60 查找组成一个偶数最接近的两个素数
牛客解题思路:两个素数差值最小为0 ,即从目标值的一半开始,left--, right++,不断地进行判断,知道left && right同时为素数。#include<iostream>#include<cmath>using namespace std;bool ISprime(int x) //判断是否是素数{ if(x==1)...原创 2022-04-23 15:46:46 · 219 阅读 · 0 评论 -
牛客 - 另类加法
另类加法解题思路:1. 二进制位异或运算相当于对应位相加,不考虑进位 比如: 1 ^ 1 = 0 ---> 1 + 1 = 0 (当前位值为0,进一位) 1 ^ 0 = 1 ---> 1 + 0 = 1 (当前位值为1) 0 ^ 0 = 0 ---> 0 + 0 = 0 (当前位值为0) 2. 二进制位与运算相当于对应位相加之后的进位 ...原创 2022-04-21 17:15:40 · 314 阅读 · 1 评论 -
牛客 - 不要二
牛客解题思路:#include<iostream>#include<vector>using namespace std;int main(){ int m , n; cin>>m; cin>>n; vector<vector<int>> b...原创 2022-04-14 10:14:05 · 87 阅读 · 0 评论 -
牛客 — 统计回文
牛客解题思路:1.使用A.insert()将字符串B插入到A中,构成一个新的字符串,一共有 A.size()+1种可能。2.判断产生的新的字符串是否是回文串。#include<iostream>#include<string>using namespace std;bool IsCircle(const string& str)//判断一个字符串是否是回文串{ int begin=0; int end = str..原创 2022-04-13 21:31:02 · 334 阅读 · 0 评论 -
牛客 - 把字符串转换成整数
牛客解题思路:1.处理字符串为空 , 字符串中除了首位存在不是数字字符。2.处理符号位,将符号位设为0 (如果有的话)class Solution {public: int StrToInt(string str) { if(str.empty()) return 0; int flag = 1; int sum = 0; if(s..原创 2022-04-12 22:12:02 · 514 阅读 · 0 评论 -
牛客 - 组队竞赛 (贪心)
牛客 - 组队竞赛 (贪心)原创 2022-04-08 20:00:32 · 451 阅读 · 0 评论 -
牛客 - 排序子序列
牛客 - 排序子序列原创 2022-04-08 20:50:50 · 435 阅读 · 0 评论