- 博客(10)
- 收藏
- 关注
原创 狂神说多线程
多线程 一 实现 1 继承Thread类 重要 package Tread; public class TestThread1 extends Thread{ @Override public void run() { for (int i = 0; i < 20; i++) { System.out.println("我在看代码---"+i); } } public static void main(Stri
2021-07-12 10:27:20 111
原创 矩阵运算
LU分解 import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n=in.nextInt(); int a[][]=new int[n+1][n+1]; int u[][]=new int[n+1][n+1]; int l[][]=n
2020-07-25 16:36:38 104
原创 HDOJ基础题目(2000—2015)
基本问题 2000ASCII码排序 import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); while(in.hasNext()) { String str = in.n
2020-07-06 11:47:23 174
原创 图算法
基本图算法 广度优先搜索(BFS) BFS解决图的连通问题(杭电15年复试真题) //用BFS计算矩阵中连通块数 import java.util.Queue; import java.util.Scanner; import java.util.LinkedList; public class Main { static int m, n;//m*n的矩阵 static int num[][];//存放矩阵内容 static int X[], Y[];//控制枚举四个方向 static boole
2020-06-26 17:46:15 137
原创 贪心算法
概述 求解最优化问题的算法通常需要经过一系列的步骤,在每个步骤都面临着多种选择。对于许多最优化问题,使用动态规划算法来求解有些杀鸡用牛刀了,可以使用更简单,更高效的贪心算法。 贪心算法在每一步都作出当前看起来最佳的选择,也就是说,他总是做出局部最优的选择,寄希望这样的选择能导致全局最优解,即,贪心算法并不保证能得到最优解。 区间贪心(活动选择问题) 方案一 按活动的结束时间递增排序,每次选择结束时间最早的活动。 import java.util.Arrays; import java.util.Compar
2020-06-21 12:41:16 254
原创 动态规划专题
概述 使用条件 动态规划方法通常用来求解最优化问题,想用动态规划来解决的问题必须具备以下两个性质: (1) 最优子结构:如果一个问题的最优解包括其子问题的最优解,我们就称此问题具有最优子结构性质。 (2) 重叠子问题性质:子问题空间必须足够“小”,即问题的递归算法会反复地求解相同的子问题,而不是一直生成新的子问题。如果递归算法反复求解相同的子问题,我们就称最优化问题具有重叠子问题性质。 步骤 1 刻画一个最优解的结构特征。 2 递归的定义最优解的值 3 计算最优解的值,通常采用自底向上的方法。(或是加上了备
2020-06-17 19:31:49 245
原创 基本数据结构的代码实现
栈的应用 翻转字符串(HDU1062) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; class StackX { private int maxSize;//栈容量 private char[] stackArray;//字符数组 private int top;//栈顶指针 public StackX(int max) { maxSize = max
2020-06-08 08:52:20 291
原创 经典排序算法
概括 插入类排序 直接插入排序 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int a[] = new int[n]; for (int i = 0; i < n; i++) a[i] = in.nextInt(); for
2020-06-06 15:08:43 135
原创 分治策略
最大子数组问题——分治策略原题 算法导论P67代码实现 原题 算法导论P67 股票收益最大化问题 idea 1 最低价买进,最高价卖出 problem 1 最高价出现在最低价之前 problem 2 有时最大收益并不是在最低价格时买入,也不是在最高价格时卖出。 idea 2暴力破解 简单的尝试每对可能的买进和卖出的日期组合,只要卖出日期在买入日期之后即可。 idea 3转化为最大子数组问题 观察股票每日价格变化,将变化的这一行看做数组A,将问题转化为寻找A的和最大的非空连续子数组,即转化为最大子数组问题。
2020-06-05 06:43:37 145
原创 2010年HDU复试笔试真题(Java)
试题一 import java.util.Random; import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner in=new Scanner(System.in); Random rand=new Random(); int num=rand.nex...
2020-04-13 12:29:22 176
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人