自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 找到小镇的法官

题目在一个小镇里,按从 1 到 N 标记了 N 个人。传言称,这些人中有一个是小镇上的秘密法官。如果小镇的法官真的存在,那么:小镇的法官不相信任何人。 每个人(除了小镇法官外)都信任小镇的法官。 只有一个人同时满足属性 1 和属性 2 。 给定数组trust,该数组由信任对 trust[i] = [a, b] 组成,表示标记为 a 的人信任标记为 b 的人。如果小镇存在秘密法官并且可以确定他的身份,请返回该法官的标记。否则,返回 -1。对于这个题目我最初的想法是,这可以使用并查集来解决,可是

2021-04-10 17:35:39 151

原创 next_permutation()以及swap()的用法

class Solution {public: vector<vector<int>> permute(vector<int>& nums) { vector<vector<int>>ans; do{ ans.emplace_back(nums); }while(next_permutation(nums.begin(),nums.end()));

2021-04-08 19:44:04 102

原创 不同路径II空间压缩方法动态规划

题目一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?//采用空间压缩,将二维表压缩成为一维的只记录左边的,上面的自然保存class Solution {public: int uniquePathsWithObstacles(vector<vector<int>&gt

2021-04-06 10:06:26 128

原创 最长回文子串

基础刷的差不多了,开始进行dynamic programming了题目给你一个字符串 s,找到 s 中最长的回文子串应该是动态规划的经典题型吧对于一个字符串需要得到他的最长回文子串,我们首先想到的是每一个元素都是一个回文串,其次再是两个元素,三个元素的思考。这种思维很符合我们常规想法,在这里可以称之为中心扩展法。但是我们这里要求使用动态规划来解决。但其实我们发现他们有共同之处,我们要知道一个字符串是否是回文字符串,我们需要知道他的两边是不是相同的,然后在判断它里面的元素是否又是一个回文字符串。这

2021-04-05 18:40:22 65

原创 计算力扣银行的钱

题目class Solution {public: int totalMoney(int n) { int week,offset; int total=0; for(int i=0;i<n;i++){ week=i/7; offset=i%7+1; total+=week+offset; } return total;

2021-04-02 19:50:40 148

原创 两两交换链表中的节点

题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr

2021-04-01 10:40:53 57

原创 验证二叉搜索树

题目给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0

2021-04-01 08:46:42 56

原创 二叉搜索树的最小距离

题目给定一个二叉搜索树的根节点 root,返回树中任意两节点的差的最小值。学习:int ans=INT_MAX;以及使用min 代替ans=ans<abs(root->val-prev)? ans:abs(root->val-prev);其余的就和普通中序遍历一样,没有任何技术含量class Solution {public: void dfs(TreeNode* root, int& pre, int& ans) { if (roo

2021-03-31 17:00:58 65

原创 汉诺塔问题

汉诺塔问题在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制:(1) 每次只能移动一个盘子;(2) 盘子只能从柱子顶端滑出移到下一根柱子;(3) 盘子只能叠在比它大的盘子上。请编写程序,用栈将所有盘子从第一根柱子移到最后一根柱子。你需要原地修改栈。示例1:输入:A = [2, 1, 0], B = [], C = []输出:C = [2,

2021-03-29 20:39:53 224

原创 平衡二叉树

平衡二叉树自下而上后序遍历加剪枝/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: int checkhig

2021-03-25 20:14:07 43

原创 二叉树的深度

leetcode二叉树的深度按照数据结构书上的方式求深度,可以有两种方式第一种后序方式求高度/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solut

2021-03-22 21:27:47 56

原创 二叉树的镜像

请完成一个函数,输入一个二叉树,该函数输出它的镜像。https://leetcode-cn.com/problems/er-cha-shu-de-jing-xiang-lcof/二叉树的镜像输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/er-cha-shu-de-jing-xiang-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明

2021-03-22 20:50:50 62

原创 第十届蓝桥杯b组

组队490每次选这一列最高的,如果最高的球员已经选择了就选择第二高的以此类推,计算五列17 20 15 11 1898 99 98 97 98得到答案490年号字串#include<iostream>#include<string>#include<stack>using namespace std;stack<int> ans;int main(){ int num=2019; int shang=0; int

2021-03-22 20:01:05 103

原创 第十届蓝桥杯c组

求和1905111这里的string::npos可以使用-1代替#include<iostream>#include<string>using namespace std;int main(){ long long ans=0; for(int i=1;i<=2019;i++){ string str=to_string(i); if(str.find("2")!= string::npos||str.find("0"

2021-03-19 18:07:34 177

原创 汉明距离

每天复习java一点点两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0class Solution {public: int hammingDistance(int x, int y) { int result=x^y; int ans=0

2021-03-18 21:58:11 195

原创 第十一届蓝桥杯c++b组

门牌制作结果624#include<iostream>using namespace std;int ans=0;void count(int num){ while(num){ if(num%10==2) ans++; num/=10; }}int main(){ for(int i=1;i<=2020;i++) count(i); cout<<ans<<endl; return 0;} 既约分数

2021-03-18 20:50:18 267

原创 蓝桥杯蛇行矩阵

蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。输入本题有多组数据,每组数据由一个正整数N组成。(N不大于100)输出对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。样例输入5样例输出1 3 6 10 152 5 9 144 8 137 1211#include<iostream>using namespace std;int main(){ int num; ci

2021-03-11 21:19:44 121

原创 蓝桥杯Minesweeper

题目描述Minesweeper Have you ever played Minesweeper? This cute little game comes with a certain operating system whose name we can’t remember. The goal of the game is to find where all the mines are located within a M x N field. The game shows a number in a

2021-03-11 20:51:55 135

原创 蓝桥杯字符串的输入输出处理

字符串的输入输出处理。输入第一行是一个正整数N,最大为100。之后是多行字符串(行数大于N), 每一行字符串可能含有空格,字符数不超过1000。输出先将输入中的前N行字符串(可能含有空格)原样输出,再将余下的字符串(不含有空格)以空格或回车分割依次按行输出。每行输出之间输出一个空行。样例输入2www.dotcpp.com DOTCPPA C MD O T CPP样例输出www.dotcpp.com DOTCPPA C MDOTCPP#include<iostream&

2021-03-11 19:58:11 274

原创 蓝桥杯字符逆序

将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。#include<iostream>#include<string>using namespace std;int main(){ string str; getline(cin,str); for(int i=str.size()-1;i>=0;i--){ cout<<str[i]; } cout<<endl; return 0;}...

2021-03-11 19:30:32 82

原创 蓝桥杯用筛法求之N内的素数

题目描述用筛法求之N内的素数。输入N#include<iostream>#include<cmath>using namespace std;int main(){ int num; cin>>num; for(int i=2;i<=num;i++){ int end=sqrt(i); int flag=1; for(int j=2;j<=end;j++){ if(i%j==0)

2021-03-11 19:26:52 57

原创 蓝桥杯helloworld

#include<iostream>#include<vector> using namespace std;int main(){ int num; vector<int> nums; while(cin>>num){ nums.push_back(num); } for(auto &&i:nums) printf("%c",i); cout<<e

2021-03-11 19:12:37 87

原创 蓝桥杯核桃的数量

小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:各组的核桃数量必须相同各组内必须能平分核桃(当然是不能打碎的)尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c< 30)输出输出一个正整数,表示每袋核桃的数量。样例输入2 4 5样例输出20#include<iostream>#include&

2021-03-11 18:58:04 99

原创 pta抢红包

没有人没抢过红包吧…… 这里给出N个人之间互相发红包、抢红包的记录,请你统计一下他们抢红包的收获。输入样例:103 2 22 10 58 8 1255 1 345 3 211 5 233 7 13 8 1011 7 88002 1 1000 2 10002 4 250 10 3206 5 11 9 22 8 33 7 44 10 55 4 21 3 88002 1 23 2 1231 8 2504 2 121 4 516 7 112 9 10输出样例:1 11.632 3.63

2021-03-07 20:41:11 166

原创 pta互评成绩

学生互评作业的简单规则是这样定的:每个人的作业会被k个同学评审,得到k个成绩。系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。输入格式:输入第一行给出3个正整数N(3 < N ≤10​4,学生总数)、k(3 ≤ k ≤ 10,每份作业的评审数)、M(≤ 20,需要输出的学生数)。随后N行,每行给出一份作业得到的k个评审成绩(在区间[0, 100]内),其间以空格分隔。输出格式:按非递减顺序输出最后得分最高的M个成绩,保留

2021-03-07 16:49:55 242

原创 pta非常弹的球

刚上高一的森森为了学好物理,买了一个“非常弹”的球。虽然说是非常弹的球,其实也就是一般的弹力球而已。森森玩了一会儿弹力球后突然想到,假如他在地上用力弹球,球最远能弹到多远去呢?他不太会,你能帮他解决吗?当然为了刚学习物理的森森,我们对环境做一些简化:假设森森是一个质点,以森森为原点设立坐标轴,则森森位于(0, 0)点。小球质量为w/100 千克(kg),重力加速度为9.8米/秒平方(m/s​2​​ )。森森在地上用力弹球的过程可简化为球从(0, 0)点以某个森森选择的角度ang (0<ang

2021-03-06 18:55:31 151

原创 pta猜数字

一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。输入格式:输入在第一行给出一个正整数N(≤10​4​​ )。随后 N 行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤ 100)。输出格式:在一行中顺序输出:大家平均数的一半(只输出整数部分)、赢家的名字,其间以空格分隔。题目保证赢家是唯一的。输入样例:7Bob 35Amy 28James 98Alice 11Jack 45Smith 33

2021-03-06 17:26:28 173

原创 pta就不告诉你

输入格式:输入在第一行给出两个不超过 1000 的正整数 A 和 B,其间以空格分隔。输出格式:在一行中倒着输出 A 和 B 的乘积。输入样例:5 7输出样例:53#include<iostream>using namespace std;int main(){ int a,b; cin>>a>>b; int ans=a*b; int flag=-1; while(ans!=0){ int out

2021-03-04 20:44:27 899 1

原创 pta连续因子

一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<2​31​​ )。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。输入样例:630输出样例:35

2021-03-04 20:00:38 448 1

原创 倒数第N个字符串

给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当L 为 3 时,序列为 { aaa, aab, aac, …, aaz, aba, abb, …, abz, …, zzz}。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒数第 N 个字符串。输入格式:输入在一行中给出两个正整数 L(2 ≤ L ≤ 6)和 N(≤10​5​​ )。输出格式:在一行中输出对应序列倒.

2021-03-03 21:36:48 502 1

原创 整除光棍

这里所谓的“光棍”,并不是指单身汪啦~说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 ——比如,程.

2021-03-03 18:11:21 160 1

原创 跟奥巴马一起画方块

美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入格式:输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。输出格式:输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。输入样例:10 a输出

2021-03-03 16:35:47 190 1

原创 到底有多二

一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字-13142223336是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为81.82%。本题就请你计算一个给定整数到底有多二。输入格式:输入第一行给出一个不超过50位的整数N。输出格式:在一行中输出N犯二的程度,保留小数点后两位。输入样例:-13142223336输出样例:81.82%#in.

2021-03-03 16:19:06 63 1

原创 敲笨钟

微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。为了增加敲钟的趣味性,还会糟改几句古诗词。其糟改的方法为:去网上搜寻压“ong”韵的古诗词,把句尾的三个字换成“敲笨钟”。例如唐代诗人李贺有名句曰:“寻章摘句老雕虫,晓月当帘挂玉弓”,其中“虫”(chong)和“弓”(gong)都压了“ong”韵。于是这句诗就被糟改为“寻章摘句老雕虫,晓月当帘敲笨钟”。现在给你一大堆古诗词句,要求你写个程序自动将压“ong”韵的句子糟改成“敲笨钟”。输入格式:输入首先在第一行给出一个不超过 20.

2021-02-13 11:35:53 205

原创 6翻了

“666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那就错啦—— 目前的最高境界是数字“27”,因为这是 3 个 “9”!本题就请你编写程序,将那些过时的、只会用一连串“6666……6”表达仰慕的句子,翻译成最新的高级表达。输入格式:输入在一行中给出一句话,即一个非空字符串,由不超过 1000 个英文字母、数字和空格组成,以回车结束。输出格式:从左到右扫描输入的句子:如果句子中有超.

2021-02-13 09:50:51 3802

原创 树的遍历

给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:72 3 1 5 7 6 41 2 3 4 5 6 7输出样例:4 1 6 3 5 7 2根据中序以及后序确定一棵树,再用队列逐层输出有了后序可以确定.

2021-01-25 14:10:51 98

原创 谁是赢家

某电视台的娱乐节目有个表演评审环节,每次安排两位艺人表演,他们的胜负由观众投票和 3名评委投票两部分共同决定。规则为:如果一位艺人的观众票数高,且得到至少 1名评委的认可,该艺人就胜出;或艺人的观众票数低,但得到全部评委的认可,也可以胜出。节目保证投票的观众人数为奇数,所以不存在平票的情况。本题就请你用程序判断谁是赢家。输入格式:输入第一行给出 2 个不超过 1000 的正整数 Pa 和 Pb,分别是艺人 a 和艺人 b 得到的观众票数。题目保证这两个数字不相等。随后第二行给出 3 名评委的投票.

2021-01-22 11:39:24 112

原创 集合相似度

给定两个整数集合,它们的相似度定义为:Nc​​ 是两个集合都有的不相等整数的个数,Nt​​是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。 输入格式:输入第一行给出一个正整数N(≤50),是集合的个数。随后N行,每行对应一个集合。每个集合首先给出一个正整数M(≤10e​4​​),是集合中元素的个数;然后跟M个[0,10e​9​​ ]区间内的整数。之后一行给出一个正整数K(≤2000),随后K行,每行对应一对需要计算相似度的集合的编号(集合从1到N编号)。数字间以空格分.

2021-01-22 00:39:09 87

原创 查验身份证

一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0 1 2 3 4 5 6 7 8 9 10 M:1 0 X 9 8 7 6 5 4 3 2现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。输入格式:输入第一行给出正整数N(≤100)是输入的.

2021-01-21 16:33:36 146

原创 跟奥巴马一起画方块

美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入格式:输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。输出格式:输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。输入样例:10 a.

2021-01-21 11:19:20 55 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除