自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 蓝桥杯翻硬币JAVA(双指针)

问题描述 小明正在玩一个“翻硬币”的游戏。 桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。 比如,可能情形是:**oo***oooo 如果同时翻转左边的两个硬币,则变为:oooo***oooo 现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢? 我们约定:把翻动相邻的两个硬币叫做一步操作,那么要求: 输入格式 两行等长的字符串,分别表示初始状态和要达到的目标状态。每行的长度<1000

2021-04-08 21:17:50 217

原创 蓝桥杯剪格子JAVA(DFS)

问题描述 如下图所示,3 x 3 的格子中填写了一些整数。 ±-–±-+ |10 1|52| ±-***–+ |20|30 1| *******–+ | 1| 2| 3| ±-±-±-+ 我们沿着图中的星号线剪开,得到两个部分,每个部分的数字和都是60。 本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。 如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目。 如果无法分割,则输出 0。 输入格式 程序先读入两个整数 m n

2021-04-08 20:14:58 143

原创 蓝桥杯对局匹配JAVA(动态规划)

问题描述   小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分,代表他的围棋水平。   小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是K的两名用户匹配在一起。如果两人分差小于或大于K,系统都不会将他们匹配。   现在小明知道这个网站总共有N名用户,以及他们的积分分别是A1, A2, … AN。   小明想了解最多可能有多少名用户同时在线寻找对手,但是系统却一场对局都匹配不起来(任意两名用户积分差不等于K)? 输入格式   第一行包含两个个整数N和K。   第二行包含N个

2021-04-08 19:59:51 173

原创 蓝桥杯带分数JAVA(DFS)

问题描述: 100 可以表示为带分数的形式:100 = 3 + 69258 / 714。 还可以表示为:100 = 82 + 3546 / 197。 注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。 类似这样的带分数,100 有 11 种表示法。 输入格式: 从标准输入读入一个正整数N (N<1000*1000) 输出格式: 程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。 注意:不要求输出每个表示,只统计有多少表示法! 题目分析: 利用递归回溯求出1~9的全排列,再

2021-04-08 16:42:59 127

原创 蓝桥杯七段码JAVA(并查集、DFS)

问题描述 小蓝要用七段码数码管来表示一种特殊的文字。 上图给出了七段码数码管的一个图示,数码管中一共有 7 段可以发光的二极管,分别标记为 a, b, c, d, e, f, g。 小蓝要选择一部分二极管(至少要有一个)发光来表达字符。 在设计字符的表达时,要求所有发光的二极管是连成一片的。 例如:b 发光,其他二极管不发光可以用来表达一种字符。 例如:c 发光,其他二极管不发光可以用来表达一种字符。 这种方案与上一行的方案可以用来表示不同的字符,尽管看上去比较相似。 例如:a, b, c, d, e 发光

2021-04-07 12:36:08 601

原创 蓝桥杯合根植物JAVA(并查集)

这是一道并查集模板题 import java.util.Scanner; //并查集模板 class unionfind { int[] parent; int[] size; int count; public unionfind(int n) { parent = new int[n]; size = new int[n]; count = n; for (int i = 0; i < n; i++) { parent[i] = i; size[i] =

2021-04-06 21:55:22 86

原创 蓝桥杯数字三角形JAVA(动态规划)

问题描述: 上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。 路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右边的那个数。此外,向左下走的次数与向右下走的次数相差不能超过 1。 输入格式 输入的第一行包含一个整数N(1<N<=100),表示三角形的行数。下面的N行给出数字三角形。数字三角形上的数都是0至100之间的整数 输出格式 输出一个整数,表示答案。 样例输入 5 7 3 8 8

2021-04-06 19:24:04 676 2

原创 Leetcode面试题17.21直方图的水量 双指针

记录日常学习与做题 2021-04-02 面试题17.21直方图的水量 难度不是很大 官方给出三种做法 动态规划/单调栈/双指针 第一眼看到这题想到的是双指针 思路:设置left指针指的是一个较大的值,设置为high 将right向右不断移动 直到移动到的数大于等于left指向的数接着把left指针向右移动 此时的水都是可以接到的,装到的量为high-height[left]如果移到数组最后都没有找到大于等于left指向的数 那么将此时的left设置为之后遍历到的最大值,再重复上述过程 class Solu

2021-04-03 19:28:53 71

原创 线段树模板

算法小白日常记录算法与数据结构的学习 线段树 可用于动态求解区间和 若使用前缀和 无法权衡查找和插入的时间复杂度 线段树可以平衡查找和插入时间复杂度为logn class Segment_Tree { int[] arr; int[] tree; int size; public Segment_Tree(int[] nums) { arr = nums; size = nums.length; tree = new int[

2021-04-02 00:11:17 56

原创 Leetcode211. 添加与搜索单词 - 数据结构设计 字典树

leetcode211. 添加与搜索单词 - 数据结构设计 记录日常学习与做题 字典树模板题 由于本题存在通配符 故需要对查找再进行递归 思路:额外申请一个空间用于存放通配符’.’ 在查找中,若既不匹配字符又不匹配通配符 返回false,当遇到通配符时,对child所有节点递归,若遇到其中一个满足条件 返回true class WordDictionary { class Node { Node[] child; boolean isleaf; p

2021-04-01 13:08:44 82

空空如也

空空如也

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

TA关注的人

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