
备战蓝桥
备战蓝桥
名侦探毛利小五郎
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
排序
public class BubbleSort { public static void main(String[] args) { int[] nums=new int[]{ 56,3,12,4,334,1 }; Bubble(nums); System.out.println(Arrays.toString(nums)); } static public void Bubble(int原创 2020-08-23 14:34:31 · 162 阅读 · 0 评论 -
并查集(java)
快速查找public class UnionFind_QF { int nums[]; public UnionFind_QF(int k) { nums=new int[k]; for (int i = 0; i < nums.length; i++) { nums[i]=i; } } public void Union(int x,int y){ rangeCheck(x);原创 2020-08-21 00:33:42 · 155 阅读 · 0 评论 -
Trie字典树(不限于26个英文字母)
牺牲了速度,使用Map替代数组,可以不局限于英文字母 public class Trie { class TrieNode { int end; HashMap<Character, TrieNode> hashMap; public TrieNode() { end = 0; hashMap = new HashMap<>();原创 2020-08-20 19:54:51 · 215 阅读 · 0 评论 -
除数博弈(动态规划)
爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作: 选出任一 x,满足 0 < x < N 且 N % x == 0 。 用 N - x 替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回 True,否则返回 false。假设两个玩家都以最佳状态参与游戏。 示例原创 2020-07-23 14:27:27 · 192 阅读 · 0 评论 -
合并两个排序的链表
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4限制:0 <= 链表长度 <= 1000class P剑指 Offer 25HeBingLiangGePaiXuDeLianBiaoLcof{public static void main(String[]args){ Solution solution.原创 2020-07-22 16:08:36 · 121 阅读 · 0 评论 -
多数元素(分治算法)
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3] 输出: 3示例 2:输入: [2,2,1,1,1,2,2] 输出: 2class Solution { public int majorityElement(int[] nums) { return majorityElementRec(nums, 0, n.原创 2020-07-22 15:06:14 · 1131 阅读 · 0 评论 -
爬楼梯(动态规划)
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?import java.util.Scanner;public class ClimbingStairs { public static void main(String[] args) { int n; Scanner sc=new Scanner(System.in); n=sc.nextInt(); Sys.原创 2020-06-30 13:42:04 · 172 阅读 · 0 评论 -
最长回文子串(动态规划)
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab” , 注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”应该能将二维数组优化成一维数组import java.util.Scanner;public class LongestPalindromeSubstring { public static void main(String[] .原创 2020-06-30 13:21:39 · 173 阅读 · 0 评论 -
入室抢劫(动态规划)
public class Thief { public static void main(String[] args) { int[] a=new int[]{ 2,1,2,3 }; System.out.println(MaxSteal(a)); } public static int MaxSteal(int[] a){ int[] total=new int[a.length]; .原创 2020-07-01 13:21:24 · 237 阅读 · 0 评论 -
最长上升子序列(动态规划)
public class AscendingSequence { public static void main(String[] args) { int[] a = new int[]{ 10, 2, 2, 5, 1, 7, 101, 18 }; System.out.println(Ascend(a)); } static public int Ascend(int[] a) { i原创 2020-06-23 01:09:48 · 173 阅读 · 0 评论 -
最大连续子序列(动态规划)
public class Sequence2 { public static void main(String[] args) { int[] a = new int[]{-2, 1, -3, 4, -1, 2, 1, -5, 4}; System.out.println(MaxSequence(a.length, a)); } static public int MaxSequence(int n, int[] a) { int[]原创 2020-06-23 00:42:52 · 156 阅读 · 0 评论 -
硬币拆分(动态规划)
public class CoinChange { static public int coin(int n) {//递归,最原始 if (n < 1) { return Integer.MAX_VALUE; } if (n == 1 || n == 5 || n == 20 || n == 25) { return 1; } int mincoin = Math.min(原创 2020-06-22 20:17:13 · 350 阅读 · 0 评论 -
最大连续子序列
public class sequence { public static void main(String[] args) { int a[]={-2,1,-3,4,-1,2,1,-5,4}; System.out.println(maxSequence(a)); } static public int maxSequence(int[] nums){ if(nums==null|| nums.length==0){原创 2020-06-21 15:35:28 · 150 阅读 · 0 评论 -
汉诺塔
public class Hanota { public static void main(String[] args) { hannuo(64,"a","b","c"); } static public void hannuo(int n,String a,String b,String c){ if(n==1){ remove(1,a,c); return; } han原创 2020-06-21 12:09:16 · 139 阅读 · 0 评论 -
N皇后问题
一个棋盘,一行一行地遍历public class Queen { public static void main(String[] args) { PlaceQueen(8); System.out.println(ways); } static public int cols[];//下标为列,数为行 static public void PlaceQueen(int n) { if (n < 1) { .原创 2020-06-21 01:02:58 · 151 阅读 · 0 评论 -
ALGO-9 摆动序列
算法训练 摆动序列时间限制:1.0s 内存限制:512.0MB问题描述 如果一个序列满足下面的性质,我们就将它称为摆动序列: 1. 序列中的所有数都是不大于k的正整数; 2. 序列中至少有两个数。 3. 序列中的数两两不相等; 4. 如果第i – 1个数比第i – 2个数大,则第i个数比第i – 2个数小;如果第i – 1个数比第i – 2个数小,则第i个数比第i – ...原创 2020-05-01 18:11:21 · 132 阅读 · 0 评论 -
UVa572油田 DFS
DFS用递归实现,BFS用队列实现#include <cstdio>#include <cstring>using namespace std;const int maxn = 100 + 10;char ch[maxn][maxn];int idx[maxn][maxn];int n,m;void dfs(int a,int b,int id)...原创 2020-04-30 21:02:02 · 162 阅读 · 0 评论 -
UVa 297 四分树 !!!引用作为函数参数
刘汝佳大佬书上的题意:用四分树来表示一个黑白图像:最大的图为根,然后按照图中的方式编号,从左到右对应4个子结点。如果某子结点对应的区域全黑或者全白,则直接用一个黑结点或者白结点表示;如果既有黑又有白,则用一个灰结点表示,并且为这个区域递归建树。思路:利用递归建树,因为是4分树,所以递归时,当遇见‘p’就递归分别4个位置,每个位置记录左上角,再利用此次递归的边长即可得到本块的大小,边长每次...原创 2020-04-29 12:44:00 · 130 阅读 · 0 评论 -
UVa699下落的树叶
题目的意思是一棵树,会落叶,每个节点的值就是落叶的数量,根的左节点与根位置距离1,右节点也是距离1;然后把每一垂直位置上,每一堆树叶数量输出。根据给出的先序遍历,碰到-1代表空节点,因为本身就是先序,也有叶子节点的标志,这样既有不用建树了,可以直接遍历。用一个100的数组,正中间的根的位置,往左就减1,往右就加1,把落叶数加上去,模仿dfs,去遍历一遍,在把数组不是0的输出。。#inclu...原创 2020-04-28 23:21:09 · 166 阅读 · 0 评论 -
sscanf()从字符串中读取数据
结合正则表达式食用效果更佳#include<cstdio>#include <iostream>using namespace std;int main(){ char str[100]; //用法一:取指定长度的字符串 sscanf("12345","%4s",str); printf("1\nstr = %s\n",str...原创 2020-04-28 21:21:39 · 1294 阅读 · 0 评论 -
UVa839 !!!递归妙啊
原题:Before being an ubiquous communications gadget, a mobile was just a structure made of strings and wires suspending colourfull things. This kind of mobile is usually found hangingover cradles of ...原创 2020-04-28 15:13:35 · 117 阅读 · 0 评论 -
UVa548
You are to determine the value of the leaf node in a given binary tree that is the terminal node of a path of least value from the root of the binary tree to any leaf. The value of a path is the sum ...原创 2020-04-28 13:06:51 · 121 阅读 · 0 评论 -
UVa122 !!! sscanf
//// Created by lalall on 2020/4/23.//#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#define maxn 300using namespace std;char s[maxn+10];//存储一个括号内...原创 2020-04-24 13:57:28 · 164 阅读 · 0 评论 -
UVa679 小球下落 !!! 很秀
给你一棵深度为D的满二叉树,给你I个球,初始所有的节点都是关闭的,如果节点是关闭的则球向左走,否则向右走,每个节点被球接触后节点开关被打开。问,最后一个小球落在哪个叶节点上.D为深度,I为球的数量.里面有两处很秀,不愧是刘汝佳大佬#include<cstdio>#include<cstring>const int maxd=20;int s[1<<m...原创 2020-04-23 00:26:41 · 122 阅读 · 0 评论 -
UVA 12657 Boxes in a Line !!! stl__list
题意:给定N个盒子,分别标号为1~N;有下面4种操作:“1 X Y” 表示将X移到Y的左边;“2 X Y” 表示将Y移到Y的右边;“3 X Y” 表示交换X与Y的位置;“4” 表示将1~N所有的盒子反序。要你求经过M次操作之后,所有奇数位置的盒子标号之和。分析:前三种操作都是对单个盒子进行操作,第四种操作是对所有盒子进行操作,那么我们首先来考虑第四种情况。由于只要求所有奇数...原创 2020-04-22 16:55:46 · 190 阅读 · 0 评论 -
UVa11988 Broken Keyboard(悲剧文本) !!!stl_list
题目描述输入包含多组数据,每组数据占一行,包含不超过100000个字母、下划线、字符“[”或者“]”。其中字符“[”表示Home键,“]”表示End键。输入结束标志为文件结束符(EOF)输入文件不超过5MB,对于每组数据,输出一行,即屏幕上的悲剧文本样例输入:This_is_a_[Beiju]_text[[]][]Happy_Birthday_to_Tsinghua_University...原创 2020-04-22 14:36:10 · 200 阅读 · 0 评论 -
uva442-矩阵链乘 !!! 栈&结构体
Your job is to write a program that determines the number of elementary multiplications needed for a given evaluation strategy.Input SpecificationInput consists of two parts: a list of matrices and ...转载 2020-04-18 23:34:42 · 135 阅读 · 0 评论 -
ALGO-246 猴子吃包子 printf("%.*f",p, count);//p就是*,当要保留的小数位数为变量时用*号代替
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 从前,有一只吃包子很厉害的猴子,它可以吃无数个包子,但是,它吃不同的包子速度也不同;肉包每秒钟吃x个;韭菜包每秒钟吃y个;没有馅的包子每秒钟吃z个;现在有x1个肉包,y1个韭菜包,z1个没有馅的包子;问:猴子吃完这些包子要多久?结果保留p位小数。输入格式 输入1行,包含7个整数,分别表示吃不同包子的速度和不同包子的个数...原创 2020-04-06 22:28:42 · 146 阅读 · 0 评论 -
ALGO-279 相邻数对
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。输入格式 输入的第一行包含一个整数n,表示给定整数的个数。 第二行包含所给定的n个整数。输出格式 输出一个整数,表示值正好相差1的数对的个数。样例输入610 2 6 3 7 8样例输出3样例说明 值正好相差1的数对包括(2, 3)...原创 2020-04-06 22:13:11 · 140 阅读 · 0 评论