From faf826af541f9df40787c6d6719231973cce57ca Mon Sep 17 00:00:00 2001 From: xuwujing <1060589146@qq.com> Date: Fri, 2 Nov 2018 17:51:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B8=B8=E7=94=A8=E7=9A=84?= =?UTF-8?q?=E7=AE=97=E6=B3=95=E6=8A=80=E5=B7=A7=E7=A4=BA=E4=BE=8B=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/pancm/arithmetic/SortTest.java | 10 +- .../java/com/pancm/arithmetic/StockTest.java | 154 ++++++++++++++++++ 2 files changed, 161 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/pancm/arithmetic/StockTest.java diff --git a/src/main/java/com/pancm/arithmetic/SortTest.java b/src/main/java/com/pancm/arithmetic/SortTest.java index 4184848..312d904 100644 --- a/src/main/java/com/pancm/arithmetic/SortTest.java +++ b/src/main/java/com/pancm/arithmetic/SortTest.java @@ -3,9 +3,13 @@ package com.pancm.arithmetic; import java.util.Arrays; /** - * @author ZERO - * @Data 2017-5-31 下午5:30:29 - * @Description 数组排序算法 主要是冒泡、二分和快速排序 + * +* @Title: SortTest +* @Description: 排序算法 +* 主要包括插入、二分、冒泡和快排算法 +* @Version:1.0.0 +* @author pancm +* @date 2017-5-31 */ public class SortTest { diff --git a/src/main/java/com/pancm/arithmetic/StockTest.java b/src/main/java/com/pancm/arithmetic/StockTest.java new file mode 100644 index 0000000..f1b7145 --- /dev/null +++ b/src/main/java/com/pancm/arithmetic/StockTest.java @@ -0,0 +1,154 @@ +package com.pancm.arithmetic; + +/** +* @Title: StockTest +* @Description: 一些常用的算法技巧 +* 参考文章:https://www.cnblogs.com/kubidemanong/p/9887669.html +* @Version:1.0.0 +* @author pancm +* @date 2018年11月2日 +*/ +public class StockTest { + + /** + * @param args + */ + public static void main(String[] args) { + + //乱序改有序 + test1(); + //利用取余方式防止数组下标越界 + test2(); + //对于可以递归的问题考虑状态保存 + test3(); + + test4(); + } + + /** + *创建 n个无序的int整型数组arr,并且这些整数的取值范围都在1-5之间, + * 使用 O(n) 的时间复杂度中把这 n 个数按照从小到大的顺序打印出来。 + */ + private static void test1() { + System.out.println("----------"); + int arr[]= {2,3,5,4,1}; + int temp[] = new int[6]; + for (int i = 0; i < arr.length; i++) { + temp[arr[i]]++; + } + //顺序打印 + for (int i = 0; i < 6; i++) { + for (int j = 0; j < temp[i]; j++) { + System.out.println(i); + } + } + System.out.println("----------"); + } + + /** + * 利用取余方式防止数组下标越界 + */ + private static void test2() { + System.out.println("----------"); + int arr[]= {2,3,5,4,1}; + int k= 0; + int m=5; + //传统方式 + for(int i=0;i