随笔分类 - 算法虐我千百遍(水各种OJ)
主要是刷OJ上的水题,大多不值得深究。
摘要:题目描述 浙江大学校园里绿树成荫,环境非常舒适,因此也引来一批动物朋友来此居住。童心未泯的NowCoder就经常带些碎面包什么的去广场喂鸽子和兔子,并和它们玩耍。 一点也没有大学生的样子,还是一副老不正经的样子,呵呵。随着鸽子和兔子数目的增多,NowCoder带的那点食物已经不够它们瓜分了。为了能让自己的好朋友吃的饱饱的, NowCoder决定统计一下有多少只鸽子和有多少只兔子,以便带来足够的食物...
阅读全文
摘要:题目描述 有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的(上下左右四个方向)黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。 输入描述:输入包含多组数据。每组数据第一行是两个整数 m 和 n(1≤m, n≤20)。紧接着 m 行,每行包括 n 个字符。每个字符表示一块瓷砖的颜色,规则如下:1. “.”:黑色的瓷砖;2. “#”:...
阅读全文
摘要:前缀表达式计算规则: 1. 从后往前读 2. 遇数字进栈,遇操作符栈顶两个出栈计算,结果再入栈。 这里假定前缀表达式是合法的,没有做合法性校验。 AC代码:import java.util.Scanner; import java.util.Stack; /** * @author CC11001100 */ public class Main { public st...
阅读全文
摘要:只需要两个变量即可,一个维护着连接池的当前连接数,一个维护着连接池的最大连接数。 AC代码:import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * @author CC11001100 */ public class Main { public static vo...
阅读全文
摘要:标记一下即可,只是记得需要区分男生和女生,虽然同性才是真爱... AC代码:import java.util.HashMap; import java.util.Map; import java.util.Scanner; /** * @author CC11001100 */ public class Main { public static void main(Str...
阅读全文
摘要:思路其实很简单,无论再少的步骤,至少要能把矮的堆到平均高度,所以只求 sum(avg - ( x >= avg ? 0 : avg - x).sum(); } } 题目来源: https://www.nowcoder.com/practice/f1b67248244c4226a5289c993bc28128?tpId=3&tqId=10914&tPage=1&rp=&...
阅读全文
摘要:简单的贪心算法 AC代码:import java.util.Scanner; /** * @author CC11001100 */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext...
阅读全文
摘要:AC代码:import java.util.Scanner; /** * @author CC11001100 */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextLine()){ ...
阅读全文
摘要:AC代码:import java.util.Scanner; /** * @author CC11001100 */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextLine()){ ...
阅读全文
摘要:AC代码:import java.util.Scanner; /** * @author CC11001100 */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextLine()){ ...
阅读全文
摘要:3n+1水题.... AC代码:import java.util.Scanner; /** * @author CC11001100 */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print...
阅读全文
摘要:AC代码:import java.util.*; /** * @author CC11001100 */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); System....
阅读全文
摘要:典型的约瑟夫环问题 AC代码:import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * @author CC11001100 */ public class Main { public static void main(String[] args) { Scann...
阅读全文
摘要:直接分隔取反即可 AC代码:import java.util.Scanner; /** * @author CC11001100 */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.next...
阅读全文
摘要:水... AC代码:import java.util.Collections; import java.util.HashSet; import java.util.Scanner; import java.util.Set; /** * @author CC11001100 */ public class Main { public static void main(Str...
阅读全文
摘要:这里为了方便,直接借助了StringBuilder实现翻转.... AC代码:import java.util.Scanner; /** * @author CC11001100 */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System....
阅读全文
摘要:不需要思路,简单的模拟就可以AC.... AC代码:import java.util.Scanner; /** * @author CC11001100 */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n ...
阅读全文
摘要:太水了不用思路,直接截取输出就是了.... AC代码:import java.util.Scanner; /** * @author CC11001100 */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); whil...
阅读全文
摘要:思路: 如果使用遍历的话需要遍历每一个点然后再比较,这样也许可以通过一些样例,但是很容易就是TLE了,所以应该还有更好的办法。 走格子这种问题,如果不能斜着走的话,那么从(1, 1)走到任意一个位置(x, y)都需要在x轴走上(x-1)步,在y轴走上(y-1)步,加起来就是x+y-2步,所以这道题就变成了简单的比大小。 AC代码:import java.util.Scanner...
阅读全文
摘要:思路: 这道题主要考的是位运算。 依照题意,使用32个int类型来标记就可以了,只不过使用Java语言的话可能需要多一步计算这个任务ID应该落在哪个数组下标的步骤。 AC代码:import java.util.Scanner; /** * @author CC11001100 */ public class Main { public static void main(St...
阅读全文