
练习题
-Billy
这个作者很懒,什么都没留下…
展开
-
埃拉托斯特尼筛法
/** * 埃拉托斯特尼筛法 */ void eratosPrime(int n) { boolean[] prime = new boolean[n+1]; // 素数的列表 for (int i=0; i<n; i++) prime[i] = true; // 表示没有判断过 prime[0] = false; // 非素数 prim...原创 2018-08-03 22:33:02 · 990 阅读 · 0 评论 -
整数0-1背包问题
• 小偷有一个容量为W的背包,有n件物品,第i个物品价值vi,且重wi。• 目标: 找到xi使得对于所有的xi = {0, 1},sum(wi*xi) <= W, 并且 sum(xi*vi)最大。常规思路public class BackPack{ static int [] w = new int[] {3, 4, 5, 7, 6}; // 每件物品的重量 st...原创 2018-08-08 21:13:31 · 1149 阅读 · 0 评论 -
二分法解题思路
二分法的精髓:函数的单调性 + 计算内容重复 (注意:不同于分治)根据区间范围,猜测答案的结果。 1. Sqrt(x)求平方根 public int mySqrt(int y) { int left = 0; int right = y; long mid = 0; // 区间范围[0, y] while (left <= right) { ...原创 2018-08-11 21:25:25 · 1636 阅读 · 1 评论 -
字符串碎片
1. 常规思路统计所有碎片的总长度、碎片的数量,进行除法运算。public class Main{ public static void main(String[] args) { Scanner scan = new Scanner(System.in); String str = scan.nextLine().trim(); double sum =...原创 2018-08-07 16:20:01 · 1072 阅读 · 0 评论 -
数据分页说明
题目描述:数据分页,对于指定的页数和每页的元素个数,返回该页应该显示的数据。输入描述:第一行输入数据个数,第二行输入全部数据,第三行输入页数,第四行输入每页最大数据个数。输出描述:输出该页应该显示的数据,超出范围请输出“超过分页范围”。import java.util.Scanner;public class Main02{ public static void ...原创 2018-08-06 23:04:21 · 1062 阅读 · 0 评论 -
第二大的数
题目描述:输入n个整数,查找数组中第二大的数。// 查找数组中的第二大的数public class Main{ public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); // 整数的个数 int first = Inte...原创 2018-08-06 22:28:28 · 1137 阅读 · 0 评论 -
数论的部分题目
在做此类的问题时,要注意一下几点。注意事项:数据的类型:正数、负数、小数,0.数据的正确性:考虑错误输入,错误输入该如何处理数据最大和最小范围:INT_MAX (2147483647,0x7fffffff);INT_MIN (-2147483648, 0x80000000)例题:1. String to Integer (atoi)字符串转为整数https://bl...原创 2018-08-01 20:46:01 · 1691 阅读 · 0 评论 -
完成括号匹配
1. 辅助栈public class Main{ public static void main(String[] args) { Scanner scan = new Scanner(System.in); // 读入字符串s String s = scan.nextLine().trim(); // 先对s的情况进行判断 if ("".equals(s)) ...原创 2018-07-31 21:34:14 · 417 阅读 · 0 评论 -
比较X^y 与 Y^x的大小
这道题,由于x,y的值可能会比较大,直接利用函数计算不太现实,我就想着化简一下这个式子,因为总是觉得这些东西以前接触过,折腾了好一会,心里还是无解,就在网上搜了搜,结果搜出来一个证明题。已知x,y∈R,且x>y>e(其中e是自然对数的底数),试比较xy与yx的大小,并给出证明过程.另外的一个解答:http://sx.zxxk.com/article/166602.html利...原创 2018-07-27 21:49:06 · 7850 阅读 · 0 评论 -
字符串匹配
1. 利用正则表达式取巧public class Main{ static Set<String> set = new HashSet<String>(); // 存放B可能代表的字符串 public static void main(String[] args) { Scanner sc = new Scanner(System.in); // ...原创 2018-07-31 20:33:59 · 387 阅读 · 0 评论 -
小Q的歌单
解题思路:分别考虑使用全使用A,全使用B,以及A,B混合使用的情况。 static long[][] memo = null; // 备忘录 public static void main(String[] args) { int k, a, x, b, y; Scanner scan = new Scanner(System.in); while (scan.h...原创 2019-02-27 16:29:39 · 231 阅读 · 0 评论