├── 920 ├── MaxSubArray.java ├── CompletePack.java ├── ZeroOnePack.java └── MergeSort.java ├── 1115 └── ZeroOnePack.java ├── 1116 └── ZeroOnePack.java ├── 1117 └── MergeSorting.java ├── 1119 ├── static.png ├── MergeSorting.java ├── recursion&return.png └── recursion&execution process.png ├── 1121 ├── Tree.java └── TreeOperations.java ├── 1126 └── CompletePack.java ├── 1201 ├── MaxDepth.java ├── MergeSort.java ├── CompletePack.java └── ZeroOne.java ├── 1207 └── MergeSort.java ├── 1208 ├── ZeroOne.java ├── MergeSort.java └── CompletePack.java ├── 1209 └── ZeroOnePack.java ├── 1213 ├── CompletePack.java └── MergeSort.java ├── 1216 └── CompletePack.java ├── 1227 └── MergeSort.java ├── 0522 └── Pack.java ├── 0102 └── MergeSort.java ├── 0121 ├── MergeSort.java └── Permutations.java ├── 0129 ├── Leet448.java ├── Leetc442.java ├── Leetc453.java ├── Leet462.java └── Permutations.java ├── 0227 ├── MergeSort.java ├── InsertionSort.java └── BinaraySearch.java ├── 0419 └── MergeSort.java ├── 0108 ├── BinarySearch.java └── BinarySearch2.java ├── 0128 ├── Permutations.java └── Permutations2.java ├── 0131 ├── Permutations.java ├── Leet455.java ├── Leet453.java ├── Leet462.java ├── Leet442.java └── Leet448.java ├── 0208 └── InsertionSort.java ├── 0109 └── RemoveDuplicats.java ├── 0205 ├── RemoveArrayList.java ├── ReverseString.java └── MostChar.java ├── 0206 └── StringTest.java ├── .gitignore ├── 0207 ├── Convert16.java ├── Leet495.java ├── Leet455.java └── MergeSort.java ├── 0116 ├── CompletePack.java └── BinarySearch.java ├── 0114 ├── ZeroOnePack.java ├── BinarySearch.java └── MergeSort.java ├── 0107 └── BinarySearch.java ├── 0127 └── Permutations.java ├── 0204 └── Permutations2.java ├── 0516 └── MergeSort.java ├── 0104 └── ZeroOnePack.java ├── 0126 └── MergeSort.java ├── 0119 └── MergeSort.java ├── 0118 └── MergeSort.java ├── 0120 └── Permutations.java ├── 0305 └── Solution.java ├── 0312 └── Solution.java ├── 0105 └── MergeSort.java ├── 0219 ├── 11.txt └── Test1.java ├── Convertion.java ├── 0409 └── Solution.java └── LeetCode.java /0522/Pack.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/0522/Pack.java -------------------------------------------------------------------------------- /1121/Tree.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/1121/Tree.java -------------------------------------------------------------------------------- /1119/static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/1119/static.png -------------------------------------------------------------------------------- /0102/MergeSort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/0102/MergeSort.java -------------------------------------------------------------------------------- /0121/MergeSort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/0121/MergeSort.java -------------------------------------------------------------------------------- /0129/Leet448.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/0129/Leet448.java -------------------------------------------------------------------------------- /0129/Leetc442.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/0129/Leetc442.java -------------------------------------------------------------------------------- /0227/MergeSort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/0227/MergeSort.java -------------------------------------------------------------------------------- /0419/MergeSort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/0419/MergeSort.java -------------------------------------------------------------------------------- /1201/MaxDepth.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/1201/MaxDepth.java -------------------------------------------------------------------------------- /1201/MergeSort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/1201/MergeSort.java -------------------------------------------------------------------------------- /1207/MergeSort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/1207/MergeSort.java -------------------------------------------------------------------------------- /1208/ZeroOne.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/1208/ZeroOne.java -------------------------------------------------------------------------------- /1227/MergeSort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/1227/MergeSort.java -------------------------------------------------------------------------------- /1209/ZeroOnePack.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/1209/ZeroOnePack.java -------------------------------------------------------------------------------- /920/MaxSubArray.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/920/MaxSubArray.java -------------------------------------------------------------------------------- /0108/BinarySearch.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/0108/BinarySearch.java -------------------------------------------------------------------------------- /0121/Permutations.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/0121/Permutations.java -------------------------------------------------------------------------------- /0128/Permutations.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/0128/Permutations.java -------------------------------------------------------------------------------- /0131/Permutations.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/0131/Permutations.java -------------------------------------------------------------------------------- /0208/InsertionSort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/0208/InsertionSort.java -------------------------------------------------------------------------------- /0227/InsertionSort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/0227/InsertionSort.java -------------------------------------------------------------------------------- /1117/MergeSorting.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/1117/MergeSorting.java -------------------------------------------------------------------------------- /1119/MergeSorting.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/1119/MergeSorting.java -------------------------------------------------------------------------------- /1121/TreeOperations.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/1121/TreeOperations.java -------------------------------------------------------------------------------- /0109/RemoveDuplicats.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/0109/RemoveDuplicats.java -------------------------------------------------------------------------------- /0205/RemoveArrayList.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/0205/RemoveArrayList.java -------------------------------------------------------------------------------- /1119/recursion&return.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/1119/recursion&return.png -------------------------------------------------------------------------------- /1119/recursion&execution process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/situjun/Review/HEAD/1119/recursion&execution process.png -------------------------------------------------------------------------------- /0131/Leet455.java: -------------------------------------------------------------------------------- 1 | class Leet455{ 2 | public static void main(String[] args){ 3 | int[] nums1 = {1,2,3}; 4 | int[] nums2 = {1,2}; 5 | } 6 | public int findContentChildren(int[] nums1,int[] nums2){ 7 | int 8 | } 9 | } -------------------------------------------------------------------------------- /0205/ReverseString.java: -------------------------------------------------------------------------------- 1 | class ReverseString{ 2 | public static void main(String[] as){ 3 | StringBuilder sb = new StringBuilder(); 4 | String s = "dkende"; 5 | for(int i = s.length()-1;i>=0;i--){ 6 | sb.append(s.charAt(i)); 7 | } 8 | System.out.println(sb); 9 | } 10 | } -------------------------------------------------------------------------------- /0206/StringTest.java: -------------------------------------------------------------------------------- 1 | class StringTest{ 2 | public static void main(String[] s){ 3 | int[] nums = {1,1}; 4 | String result = ""; 5 | for(int i:nums) System.out.println(i+"qq"); 6 | for(int i:nums) result = i+""; 7 | System.out.println(result+"dd"); 8 | 9 | 10 | } 11 | } -------------------------------------------------------------------------------- /0129/Leetc453.java: -------------------------------------------------------------------------------- 1 | import java.util.*; 2 | class Leetc453{ 3 | public static void main(String[] s){ 4 | int[] nums = {5,7,33,1,99}; 5 | int count = 0,min = 0; 6 | Arrays.sort(nums); 7 | min = nums[0]; 8 | for(int i:nums) count += i-min; 9 | System.out.println("Step: "+count); 10 | } 11 | } -------------------------------------------------------------------------------- /0129/Leet462.java: -------------------------------------------------------------------------------- 1 | import java.util.*; 2 | public class Leet462{ 3 | public static void main(String[] args){ 4 | int[] nums = {45,1,2,99}; 5 | int count = 0; 6 | int index1 =0,index2 = nums.length-1; 7 | Arrays.sort(nums); 8 | while(index1<=index2) count += nums[index2--] - nums[index1++]; 9 | System.out.println(count); 10 | } 11 | } -------------------------------------------------------------------------------- /0131/Leet453.java: -------------------------------------------------------------------------------- 1 | class Leet453{ 2 | public static void main(String[] args){ 3 | int min = Integer.MAX_VALUE,sum = 0,result = 0; 4 | int[] nums = {88,1,2,3,23}; 5 | for(int i:nums){ 6 | if(i<=min) min = i; 7 | sum += i; 8 | } 9 | result = sum - nums.length*min; 10 | System.out.println("Only Incrementing:Step: "+result); 11 | } 12 | } -------------------------------------------------------------------------------- /0131/Leet462.java: -------------------------------------------------------------------------------- 1 | import java.util.*; 2 | class Leet462{ 3 | public static void main(String[] args){ 4 | int[] nums = {88,1,2,3,23}; 5 | Arrays.sort(nums); 6 | int index1 = 0,index2 = nums.length-1,result = 0; 7 | while(index1<=index2) result += nums[index2--] - nums[index1++]; 8 | System.out.println("+ or -:Step: "+result); 9 | } 10 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Java: 2 | *.class 3 | 4 | # Log file 5 | *.log 6 | 7 | # BlueJ files 8 | *.ctxt 9 | 10 | # Mobile Tools for Java (J2ME) 11 | .mtj.tmp/ 12 | 13 | # Package Files # 14 | *.jar 15 | *.war 16 | *.ear 17 | *.zip 18 | *.tar.gz 19 | *.rar 20 | 21 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 22 | hs_err_pid* 23 | -------------------------------------------------------------------------------- /0207/Convert16.java: -------------------------------------------------------------------------------- 1 | class Convert16{ 2 | public static void main(String[] args){ 3 | int num = 855682482; 4 | String result = ""; 5 | while(num!=0){ 6 | int remain = num%16; 7 | String tmp = remain >= 10?String.valueOf((char)('a'+remain-10)):remain+""; 8 | result = tmp+result; 9 | num = num/16; 10 | } 11 | System.out.println(result); 12 | } 13 | } -------------------------------------------------------------------------------- /0207/Leet495.java: -------------------------------------------------------------------------------- 1 | public class Solution { 2 | public int findPoisonedDuration(int[] timeSeries, int duration) { 3 | if(timeSeries.length == 0) return 0; 4 | int result = 0; 5 | for(int i = 0;i<=timeSeries.length-1;i++) result += duration>=timeSeries[i]-timeSeries[i-1]?timeSeries[i]-timeSeries[i-1]:duration; 6 | return result+duration; 7 | } 8 | } -------------------------------------------------------------------------------- /0131/Leet442.java: -------------------------------------------------------------------------------- 1 | import java.util.*; 2 | class Leet442{ 3 | public static void main(String[] s){ 4 | int[] nums = {3,2,4,7,4,7,5,4,7,1,2}; 5 | int index = 0; 6 | List list = new ArrayList<>(); 7 | for(int i =0;i<=nums.length-1;i++){ 8 | index = Math.abs(nums[i])-1; 9 | if(nums[index] < 0) list.add(index+1); 10 | nums[index] = -nums[index]; 11 | } 12 | System.out.println("Duplicates:"+list); 13 | } 14 | } -------------------------------------------------------------------------------- /0205/MostChar.java: -------------------------------------------------------------------------------- 1 | import java.util.*; 2 | class MostChar{ 3 | public static void main(String[] args){ 4 | String s = "sdfewgdfbwefsdfwefvx"; 5 | int[] arr = new int[26]; 6 | Arrays.fill(arr,0); 7 | for(int i = 0;i<=s.length()-1;i++){ 8 | arr[s.charAt(i)-'a']++; 9 | } 10 | System.out.println(s); 11 | for(int i = 0;i<=arr.length-1;i++){ 12 | System.out.println(String.valueOf((char)(i+'a'))+","+arr[i]); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /0116/CompletePack.java: -------------------------------------------------------------------------------- 1 | class CompletePack{ 2 | public static void main(String[] args){ 3 | int[] weight = {4,2,6,5,3}; 4 | int[] value = {5,2,6,4,3}; 5 | int limit = 10; 6 | int[] F = new int[limit+1]; 7 | for(int i=1;i<=weight.length;i++){ 8 | for(int j=1;j<=limit;j++){ 9 | if(j>=weight[i-1]) F[j] = Math.max(F[j],F[j-weight[i-1]]+value[i-1]); 10 | } 11 | } 12 | System.out.println("The max value is"+F[limit]); 13 | } 14 | } -------------------------------------------------------------------------------- /0131/Leet448.java: -------------------------------------------------------------------------------- 1 | import java.util.*; 2 | class Leet448{ 3 | public static void main(String[] s){ 4 | int[] nums = {2,1,5,6,3,2,5}; 5 | int index = 0; 6 | List list = new ArrayList<>(); 7 | for(int i =0;i<=nums.length-1;i++){ 8 | index = Math.abs(nums[i])-1; 9 | nums[index] = nums[index]<0?nums[index]:-nums[index]; 10 | } 11 | for(int i = 0;i<=nums.length-1;i++){ 12 | if(nums[i]>0)list.add(i+1); 13 | } 14 | System.out.println("Disapppearded num:"+list); 15 | } 16 | } -------------------------------------------------------------------------------- /0114/ZeroOnePack.java: -------------------------------------------------------------------------------- 1 | class ZeroOnePack{ 2 | public static void main(String[] s){ 3 | int[] weight = {2,2,6,5,4}; 4 | int[] value = {6,3,5,4,6}; 5 | int limit = 10; 6 | int length = weight.length; 7 | int[][] F = new int[length+1][limit+1]; 8 | for(int i = 1;i<=length;i++){ 9 | for(int j = 1;j<=limit;j++){ 10 | if(j-weight[i-1]<0)F[i][j] = F[i-1][j]; 11 | else F[i][j] = Math.max(F[i-1][j],F[i-1][j-weight[i-1]]+value[i-1]); 12 | } 13 | } 14 | System.out.println("The max value is "+F[length][limit]); 15 | } 16 | } -------------------------------------------------------------------------------- /0114/BinarySearch.java: -------------------------------------------------------------------------------- 1 | class BinarySearch{ 2 | public static void main(String[] args){ 3 | int[] arr = {0,0,0,1,2,3,4,5,7,7,8,9}; 4 | int target = 6; 5 | System.out.println("The index is "+search(arr,target,0,arr.length-1)); 6 | } 7 | public static int search(int[] arr,int target,int low,int high){ 8 | if(low<=high){ 9 | int mid = (low+high)/2; 10 | if(arr[mid] == target) return mid; 11 | else if(target< arr[mid]) return search(arr,target,low,mid-1); 12 | else return search(arr,target,mid+1,high); 13 | } 14 | return -1; 15 | } 16 | } -------------------------------------------------------------------------------- /0116/BinarySearch.java: -------------------------------------------------------------------------------- 1 | class BinarySearch{ 2 | public static void main(String[] args){ 3 | int[] arr = {0,0,0,1,2,3,4,4,4,5,6,7,7,8,8,9}; 4 | int target = -6; 5 | System.out.println("The target index is "+helper(arr,target,0,arr.length)); 6 | } 7 | public static int helper(int[] arr,int target,int low,int high){ 8 | if(low<=high){ 9 | int mid = (low+high)/2; 10 | if(arr[mid] == target) return mid; 11 | else if(targetj){ 11 | F[j] = F[j]; 12 | }else { 13 | F[j] = Math.max(F[j],F[j-weight[i]]+value[i]); 14 | } 15 | } 16 | } 17 | for(int i:F){ 18 | System.out.print(i+"\t"); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /0108/BinarySearch2.java: -------------------------------------------------------------------------------- 1 | class BinarySearch2{ 2 | public static void main(String[] args){ 3 | int[] arr= {1,2,3,4,6,7,8,11,13,21,46}; 4 | int low = 0,high = arr.length-1,target = 8; 5 | int mid = 0; 6 | while(low<=high){ 7 | mid = (low+high)/2; 8 | if(target == arr[mid]){ 9 | System.out.println("Target = "+target+" index = "+mid); 10 | break; 11 | }else if(target>arr[mid]){ 12 | low = mid+1; 13 | }else { 14 | high = mid-1; 15 | } 16 | } 17 | //return -1; 18 | System.out.println("Target = "+target+" ,but didn't find"); 19 | } 20 | } -------------------------------------------------------------------------------- /0207/Leet455.java: -------------------------------------------------------------------------------- 1 | public class Solution { 2 | public int findContentChildren(int[] g, int[] s) { 3 | if(g.length == 0 || s.length == 0)return 0; 4 | Arrays.sort(s); 5 | Arrays.sort(g); 6 | int index1 = 0,index2 = 0,result = 0; 7 | while(index1 <= g.length-1 && index2<=s.length-1){ 8 | if(g[index1] > s[index2]){ 9 | index2++; 10 | continue; 11 | } 12 | result++; 13 | index1++; 14 | index2++; 15 | } 16 | return result; 17 | } 18 | } -------------------------------------------------------------------------------- /0107/BinarySearch.java: -------------------------------------------------------------------------------- 1 | class BinarySearch{ 2 | public static void main(String[] args){ 3 | int[] arr = {1,2,3,4,4,4,4,5,6,8,9,11,15,17,21,32,54,66,78,111,222}; 4 | int target = 7; 5 | System.out.println("The index is "+search(arr,target)); 6 | } 7 | public static int search(int[] arr,int target){ 8 | int low = 0,high = arr.length-1; 9 | while(low<=high){ 10 | int mid = (low+high)>>1; 11 | if(arr[mid] == target){ 12 | return mid; 13 | } else if(target < arr[mid]){ 14 | high = mid-1; 15 | } else { 16 | low = mid+1; 17 | } 18 | } 19 | return -1; 20 | } 21 | } -------------------------------------------------------------------------------- /0227/BinaraySearch.java: -------------------------------------------------------------------------------- 1 | class BinaraySearch{ 2 | public static void main(String[] as){ 3 | int target = 155; 4 | int[] nums = {1,2,3,4,5,6,6,7,8,9,11,12,13,14,14,15}; 5 | System.out.println("Index : "+new BinaraySearch().helper(target,nums,0,nums.length-1)); 6 | } 7 | public int helper(int target,int[] nums,int start,int end){ 8 | int mid = (start+end)/2; 9 | while(start<=end){ 10 | //System.out.println(nums[mid]+""); 11 | if(nums[mid] == target) return mid; 12 | else if(nums[mid]j){ 11 | F[i][j] = F[i-1][j]; 12 | } else { 13 | F[i][j] = Math.max(F[i-1][j],F[i-1][j-weight[i-1]]+value[i-1]); 14 | } 15 | } 16 | } 17 | for(int i=1;i<=length;i++){ 18 | System.out.print("\n"); 19 | for(int j=1;j<=limit;j++){ 20 | System.out.print(F[i][j]+","); 21 | } 22 | 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /0128/Permutations2.java: -------------------------------------------------------------------------------- 1 | import java.util.*; 2 | class Permutations2{ 3 | public static void main(String[] args){ 4 | int[] nums = {1,2,3,4}; 5 | List> list = new ArrayList<>(); 6 | List item = new ArrayList<>(); 7 | new Permutations2().helper(list,item,nums); 8 | for(List i:list) System.out.println(i); 9 | } 10 | public void helper(List> list,List item,int[] nums){ 11 | if(item.size() == nums.length){ 12 | list.add(new ArrayList<>(item)); 13 | } else { 14 | for(int i:nums){ 15 | if(item.contains(i)) continue; 16 | item.add(i); 17 | helper(list,item,nums); 18 | item.remove(item.size()-1); 19 | } 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /1126/CompletePack.java: -------------------------------------------------------------------------------- 1 | class CompletePack{ 2 | public static void main(String[] args){ 3 | int[] weight = {4,2,6,5,3}; 4 | int[] value = {5,2,6,4,3}; 5 | int length = weight.length; 6 | int limit = 10; 7 | int[] F = new int[limit+1]; 8 | F[0] = 0; 9 | for(int i=0;i<=length-1;i++){ 10 | for(int j=1;j<=10;j++){ 11 | //Key point:weight[i]> list = new ArrayList<>(); 5 | List item = new ArrayList<>(); 6 | int[] nums = {1,2,3,4}; 7 | new Permutations().helper(list,item,nums); 8 | for(List i:list){ 9 | System.out.println(i); 10 | } 11 | } 12 | public void helper(List> list,List item,int[] nums){ 13 | if(item.size() == nums.length){ 14 | list.add(new ArrayList<>(item)); 15 | } else { 16 | for(int i = 0;i<=nums.length-1;i++){ 17 | if(!item.contains(nums[i])){ 18 | item.add(nums[i]); 19 | helper(list,item,nums); 20 | item.remove(item.size()-1); 21 | } else { 22 | continue; 23 | } 24 | } 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /1116/ZeroOnePack.java: -------------------------------------------------------------------------------- 1 | class ZeroOnePack{ 2 | public static void main(String[] args){ 3 | int[] weight = {2,2,6,5,4}; 4 | int[] value = {6,3,5,4,6}; 5 | int number = weight.length; 6 | int limit = 10; 7 | int[][] arr = new int[number+1][limit+1]; 8 | for(int i=0;i<=number;i++){ 9 | arr[i][0] = 0; 10 | } 11 | for(int i=0;i<=limit;i++){ 12 | arr[0][i] = 0; 13 | } 14 | for(int i=1;i<=number;i++){ 15 | for(int j=1;j<=limit;j++){ 16 | if(j-weight[i-1]<0) arr[i][j] = arr[i-1][j]; 17 | else arr[i][j] = Math.max(arr[i-1][j],arr[i-1][j-weight[i-1]]+value[i-1]); 18 | } 19 | } 20 | System.out.println("Matrix:"); 21 | for(int i=1;i<=number;i++){ 22 | for(int j=1;j<=limit;j++){ 23 | System.out.print(arr[i][j]+"\t"); 24 | } 25 | System.out.print("\n"); 26 | } 27 | } 28 | 29 | } -------------------------------------------------------------------------------- /920/CompletePack.java: -------------------------------------------------------------------------------- 1 | class CompletePack{ 2 | public static void main(String[] s){ 3 | int[] value = {6,3,5,4,6}; 4 | int[] weight = {2,2,6,5,4}; 5 | int limit= 10; 6 | int[] F = new int[limit+1]; 7 | int dataLength = value.length; 8 | //init F[] to 0 9 | for(int i=0;i<=limit;i++){ 10 | F[i] = 0; 11 | } 12 | //其实应该考虑上一次的F[i],和F[i-1],F[i-weight[j]]+value[j] 这三个的大小,但是因为F[i-weight[j]]+value[j]肯定大于F[i-1] 13 | //(比如i=3时,F[3]可以=F[3-weight[0]]+val[0]=F[1]+val[0]。此时F[1]=0,就相当于F[2]后没放入元素,所以省略了和F[i-1]的比较) 14 | for(int i=0;i<=limit;i++){ 15 | for(int j=0;j<=dataLength-1;j++){ 16 | if(i>=weight[j]){ 17 | F[i] = Math.max(F[i],F[i-weight[j]]+value[j]); 18 | } 19 | } 20 | } 21 | System.out.print("Each Weight Max Value \n"); 22 | for(int i:F){ 23 | System.out.print(i+","); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /920/ZeroOnePack.java: -------------------------------------------------------------------------------- 1 | class ZeroOnePack{ 2 | public static void main(String[] s){ 3 | int[] value = {6,3,5,4,6}; 4 | int[] weight = {2,2,6,5,4}; 5 | int itemLengh = value.length; 6 | int limit = 10; 7 | int[][] F = new int[itemLengh+1][limit+1]; 8 | for(int i=0;i<=itemLengh;i++){ 9 | F[i][0] = 0; 10 | } 11 | for(int i =0;i<=limit;i++){ 12 | F[0][i] = 0; 13 | } 14 | for(int i=1;i<=itemLengh;i++){ 15 | for(int j=1;j<=limit;j++){ 16 | if(j> list = new ArrayList<>(); 7 | List item = new ArrayList<>(); 8 | boolean[] used = new boolean[nums.length]; 9 | new Permutations().helper(list,item,nums,used); 10 | for(List i:list) System.out.println(i); 11 | } 12 | public void helper(List> list,List item,int[] nums,boolean[] used){ 13 | if(item.size() == nums.length){ 14 | list.add(new ArrayList<>(item)); 15 | } else { 16 | for(int i = 0;i<=nums.length-1;i++){ 17 | if(used[i] || i > 0 && nums[i] == nums[i-1] && !used[i-1]) continue; 18 | item.add(nums[i]); 19 | used[i] = true; 20 | helper(list,item,nums,used); 21 | used[i] = false; 22 | item.remove(item.size()-1); 23 | } 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /0204/Permutations2.java: -------------------------------------------------------------------------------- 1 | import java.util.*; 2 | class Permutations2{ 3 | static Permutations2 instance = new Permutations2(); 4 | public static void main(String[] s){ 5 | int[] arr = {2,1,2,3}; 6 | boolean[] used = new boolean[arr.length]; 7 | Arrays.sort(arr); 8 | List> list = new ArrayList<>(); 9 | List item = new ArrayList<>(); 10 | instance.helper(list,item,arr,used); 11 | for(List i:list) System.out.println(i); 12 | } 13 | public void helper(List> list,List item,int[] nums,boolean[] used){ 14 | if(item.size() == nums.length){ 15 | list.add(new ArrayList<>(item)); 16 | } 17 | for(int i =0;i<=nums.length-1;i++){ 18 | if(used[i] || i >0 && nums[i] == nums[i-1] && !used[i-1]){ 19 | continue; 20 | } 21 | item.add(nums[i]); 22 | used[i] = true; 23 | helper(list,item,nums,used); 24 | used[i] = false; 25 | item.remove(item.size()-1); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /0516/MergeSort.java: -------------------------------------------------------------------------------- 1 | class MergeSort{ 2 | public static void main(String[] s){ 3 | int[] arr = {3,2,5,2,6,33,21,5,66,231,43,0,1,1,54,2,1,4}; 4 | sort(arr,new int[arr.length],0,arr.length-1); 5 | for(int i:arr) System.out.print(i+","); 6 | } 7 | public static void sort(int[] arr,int[] tmp,int low,int high){ 8 | if(low>1; 12 | sort(arr,tmp,low,mid); 13 | sort(arr,tmp,mid+1,high); 14 | merge(arr,tmp,low,mid,high); 15 | } 16 | } 17 | public void merge(int[] arr,int[] tmp,int low,int mid,int high){ 18 | int index1 = low,index2 = mid+1,index3 = low; 19 | while(index1<=mid && index2 <= high){ 20 | if(arr[index1]<=arr[index2]) tmp[index3++]=arr[index1++]; 21 | else tmp[index3++] = arr[index2++]; 22 | } 23 | while(index1<=mid)tmp[index3++]=arr[index1++]; 24 | while(index2<=high)tmp[index3++]=arr[index2++]; 25 | while(low<=high)arr[low] = tmp[low++]; 26 | } 27 | 28 | } -------------------------------------------------------------------------------- /0126/MergeSort.java: -------------------------------------------------------------------------------- 1 | class MergeSort{ 2 | public static void main(String[] args){ 3 | int[] arr = {5,8,2,3,8,2,8,3,4,7,0,5,3,1,7,2,0,52,4}; 4 | new MergeSort().sort(arr); 5 | for(int i:arr) System.out.print(i+","); 6 | } 7 | public void sort(int[] arr){ 8 | int low = 0,high = arr.length-1; 9 | int[] tmp = new int[arr.length]; 10 | sort(arr,tmp,low,high); 11 | } 12 | public void sort(int[] arr,int[] tmp,int low,int high){ 13 | int mid = (low+high)/2; 14 | if(low> list = permute(arr); 6 | for(List i:list){ 7 | for(Integer integer:i){ 8 | System.out.print(integer+"\t"); 9 | } 10 | System.out.print("\n"); 11 | } 12 | } 13 | public static List> permute(int[] nums) { 14 | List> list = new ArrayList<>(); 15 | // Arrays.sort(nums); // not necessary 16 | backtrack(list, new ArrayList<>(), nums); 17 | return list; 18 | } 19 | 20 | private static void backtrack(List> list, List tempList, int [] nums){ 21 | if(tempList.size() == nums.length){ 22 | list.add(new ArrayList<>(tempList)); 23 | } else{ 24 | for(int i = 0; i < nums.length; i++){ 25 | if(tempList.contains(nums[i])) continue; // element already exists, skip 26 | tempList.add(nums[i]); 27 | backtrack(list, tempList, nums); 28 | tempList.remove(tempList.size() - 1); 29 | } 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /0305/Solution.java: -------------------------------------------------------------------------------- 1 | import java.util.*; 2 | public class Solution { 3 | public static void main(String[] s){ 4 | int[] nums = {1,2,3,4,5}; 5 | int k = 1; 6 | System.out.println(new Solution().findPairs(nums,k)+""); 7 | } 8 | public int findPairs(int[] nums, int k) { 9 | if(nums.length == 0 || nums.length == 1) return 0; 10 | int count = 0,n = nums.length; 11 | Map map = new HashMap<>(); 12 | Arrays.sort(nums); 13 | for (int i = 0; i < n; i++){ 14 | // See if there is a pair of this picked element 15 | for (int j = i+1; j < n; j++){ 16 | if (nums[j] - nums[i] == k ){ 17 | map.put(nums[i],nums[j]); 18 | } 19 | } 20 | } 21 | return map.size(); 22 | 23 | /** 24 | 25 | int result = 0; 26 | Arrays.sort(nums); 27 | int index1 = 0,index2 = 0; 28 | while(index1 <= nums.length-1 && index2 <= nums.length-1){ 29 | if(nums[index1] - nums[index2] == k){ 30 | result++; 31 | index1++; 32 | } 33 | 34 | } 35 | return result; 36 | **/ 37 | } 38 | } -------------------------------------------------------------------------------- /0114/MergeSort.java: -------------------------------------------------------------------------------- 1 | class MergeSort{ 2 | public static void main(String[] args){ 3 | int[] arr = {5,4,8,7,6,3,4,8,9,4,5,0,5,5,6,35,55}; 4 | int[] tmp = new int[arr.length]; 5 | int low = 0; 6 | int high = arr.length-1; 7 | sort(arr,tmp,low,high); 8 | for(int i:arr){ 9 | System.out.print(i+","); 10 | } 11 | } 12 | public static void sort(int[] arr,int[] tmp,int low,int high){ 13 | if(low timePoints) { 7 | int min = Integer.MAX_VALUE; 8 | for(int i = 0;i<=timePoints.size()-1;i++){ 9 | for(int j = i+1;j<=timePoints.size()-1;j++){ 10 | 11 | if(timePoints.get(i).equals("00:00")){ 12 | min = Math.min(min,helper("24:00",timePoints.get(j))) 13 | } else if(timePoints.get(i).equals("24:00")){ 14 | min = Math.min(min,helper("00:00",timePoints.get(j))) 15 | } else { 16 | min = Math.min(min,helper(timePoints.get(i),timePoints.get(j))) 17 | } 18 | } 19 | } 20 | return min; 21 | } 22 | public int helper(String s1,String s2){ 23 | String time1 = s1; 24 | String time2 = s2; 25 | SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss"); 26 | Date date1 = format.parse(time1); 27 | Date date2 = format.parse(time2); 28 | int difference = date2.getTime() - date1.getTime(); 29 | return difference; 30 | } 31 | } -------------------------------------------------------------------------------- /0105/MergeSort.java: -------------------------------------------------------------------------------- 1 | class MergeSort{ 2 | public static void main(String[] args){ 3 | int[] arr = {55,1,2,77,5,66,4,21,12,13,24,13,0,9,5,88}; 4 | int length = arr.length; 5 | int[] tmp = new int[length]; 6 | Sort(arr,tmp,0,length-1); 7 | System.out.println("The order is "); 8 | for(int i:arr){ 9 | System.out.print(i+","); 10 | } 11 | } 12 | public static void Sort(int[] arr,int[] tmp,int low,int high){ 13 | if(low list = new ArrayList<>(); 9 | if(N==0) return 0; 10 | 11 | int[] arr = new int[N]; 12 | for(int i =1;i<=N;i++) arr[i-1] = N; 13 | boolean[] used = new boolean[N]; 14 | helper(list,N,used); 15 | return count; 16 | } 17 | public static void helper(List list,int target,boolean[] used){ 18 | if(list.size() == target){ 19 | 20 | count++; 21 | System.out.println(list); 22 | } else { 23 | for(int i = 1;i<=target;i++){ 24 | if(used[i-1]) continue; 25 | if((list.size()+1)%i == 0 || i%(list.size()+1) == 0){ 26 | list.add(i); 27 | used[i-1] = true; 28 | helper(list,target,used); 29 | used[i-1] = false; 30 | list.remove(list.size()-1); 31 | } 32 | } 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /1115/ZeroOnePack.java: -------------------------------------------------------------------------------- 1 | class ZeroOnePack{ 2 | public static void main(String[] args){ 3 | int[] weight = {2,2,6,5,4}; 4 | int[] value = {6,3,5,4,6}; 5 | int limit = 10; 6 | int number = weight.length; 7 | int[][] F = new int[number+1][limit+1]; 8 | //print which item be selected 9 | String[][] items = new String[number+1][limit+1]; 10 | for(int i=0;i<=number;i++){ 11 | F[i][0] = 0; 12 | } 13 | for(int i=0;i<=limit;i++){ 14 | F[0][i] = 0; 15 | } 16 | 17 | for(int i=0;i<=number;i++){ 18 | items[i][0] = ""; 19 | } 20 | for(int i=0;i<=limit;i++){ 21 | items[0][i] = ""; 22 | } 23 | 24 | 25 | for(int j=1;j<=limit;j++){ 26 | for(int i=1;i<=number;i++){ 27 | if(j>> 4); 23 | } 24 | return result; 25 | } 26 | public static String toBinary(int num) { 27 | char[] map = {'0','1'}; 28 | if(num == 0) return "0"; 29 | String result = ""; 30 | while(num != 0){ 31 | result = map[(num & 1)] + result; 32 | num = (num >>> 1); 33 | } 34 | return result; 35 | } 36 | public static String toOctal(int num) { 37 | char[] map = {'0','1','2','3','4','5','6','7'}; 38 | if(num == 0) return "0"; 39 | String result = ""; 40 | while(num != 0){ 41 | result = map[(num & 7)] + result; 42 | num = (num >>> 3); 43 | } 44 | return result; 45 | } 46 | 47 | } -------------------------------------------------------------------------------- /1208/CompletePack.java: -------------------------------------------------------------------------------- 1 | import java.util.*; 2 | class CompletePack{ 3 | public static void main(String[] s){ 4 | ArrayList list = new ArrayList(); 5 | 6 | int[] weight = {2,1,6,5,4}; 7 | int[] value = {3,2,5,4,6}; 8 | int length = weight.length; 9 | int limit = 10; 10 | int[] F = new int[limit+1]; 11 | for(int i=0;i<=limit;i++){ 12 | list.add(i,new String("")); 13 | } 14 | for(int i = 1;i<=length;i++){ 15 | String item = ""; 16 | for(int j =1;j<=limit;j++){ 17 | if(j list,int[] arr,boolean[] used,int item,int n){ 10 | if(list.size() == arr.length){ 11 | long num = 0; 12 | for(int i =0;i<=list.size()-1;i++){ 13 | num = num*10+list.get(i); 14 | } 15 | if(num>(long)n){ 16 | if(num(),arr,used,0,n); 45 | res = min; 46 | if(min == Integer.MAX_VALUE) return -1; 47 | if(res<=max){ 48 | if(res <= n){ 49 | //System.out.println(res+""); 50 | return -1; 51 | } else { 52 | return (int)res; 53 | } 54 | } else { 55 | if((long)n+1<=max) return n+1; 56 | else return -1; 57 | } 58 | 59 | } 60 | public static String reverseWords(String s) { 61 | //return new StringBuilder(s.substring(0,s.length())).reverse().toString(); 62 | if(s == null || s.length() == 0) return ""; 63 | String[] arr = new StringBuilder(s.substring(0,s.length())).reverse().toString().split(" "); 64 | String res = ""; 65 | for(int i = arr.length-1;i>=0;i--){ 66 | res = res + arr[i] + " "; 67 | } 68 | return res.trim(); 69 | /*** 70 | if(s == null || s.length() == 0) return ""; 71 | s = s.trim(); 72 | int index1 = 0,index2 = 0; 73 | String result = ""; 74 | 75 | for(int i =0;i<=s.length()-1;i++){ 76 | if(s.charAt(i) == ' '){ 77 | if(i>index1){ 78 | result = result+new StringBuilder(s.substring(index1,i)).reverse().toString(); 79 | index1 = i+1; 80 | } 81 | 82 | } 83 | } 84 | if(index2 == 0) return s; 85 | result = result+new StringBuilder(s.substring(index1,s.length())).reverse().toString(); 86 | return result; 87 | 88 | ***/ 89 | } 90 | } -------------------------------------------------------------------------------- /0219/Test1.java: -------------------------------------------------------------------------------- 1 | import java.util.*; 2 | public class Test1{ 3 | static int count = 0; 4 | public static void main(String[] args){ 5 | //System.out.println(new Test1().countArrangement(4)+""); 6 | 7 | int arr[] = {1, 0, 1,1,0}; 8 | int size = arr.length; 9 | System.out.println(new Test1().maxLen(arr)+""); 10 | } 11 | // Returns largest subarray with equal number of 0s and 1s 12 | int maxLen(int nums[]) 13 | { 14 | if(nums == null || nums.length == 0) return 0; 15 | int sum[] = new int[nums.length]; 16 | sum[0] = nums[0] == 0? -1 : 1; 17 | for(int i=1; i < sum.length; i++){ 18 | sum[i] = sum[i-1] + (nums[i] == 0? -1 : 1); 19 | } 20 | Map pos = new HashMap(); 21 | int maxLen = 0; 22 | int i = 0; 23 | for(int s : sum){ 24 | if(s == 0){ 25 | maxLen = Math.max(maxLen, i+1); 26 | } 27 | if(pos.containsKey(s)){ 28 | maxLen = Math.max(maxLen, i-pos.get(s)); 29 | }else{ 30 | pos.put(s, i); 31 | } 32 | i++; 33 | } 34 | return maxLen; 35 | } 36 | 37 | 38 | public static int countArrangement(int N) { 39 | List list = new ArrayList<>(); 40 | if(N==0) return 0; 41 | int[] arr = new int[N]; 42 | for(int i =1;i<=N;i++) arr[i-1] = N; 43 | boolean[] used = new boolean[N]; 44 | helper(list,N,used); 45 | return count; 46 | } 47 | public static void helper(List list,int target,boolean[] used){ 48 | if(list.size() == target){ 49 | 50 | count++; 51 | System.out.println(list); 52 | } else { 53 | for(int i = 1;i<=target;i++){ 54 | if(used[i-1]) continue; 55 | if((list.size()+1)%i == 0 || i%(list.size()+1) == 0){ 56 | list.add(i); 57 | used[i-1] = true; 58 | helper(list,target,used); 59 | used[i-1] = false; 60 | list.remove(list.size()-1); 61 | } 62 | } 63 | } 64 | } 65 | public static int findMaxLength(int[] nums) { 66 | if(nums == null || nums.length == 0) return 0; 67 | int length = nums.length,max = 1; 68 | int[] arr1 = new int[length]; 69 | int[] arr2 = new int[length]; 70 | arr1[0] = 1; 71 | arr2[0] = 1; 72 | System.out.print(arr1[0]+","); 73 | for(int i = 1;i<=length-1;i++){ 74 | if(nums[i] >= nums[i-1]) arr1[i] = arr1[i-1]+1; 75 | else arr1[i] = 1; 76 | System.out.print(arr1[i]+","); 77 | max = Math.max(max,arr1[i]); 78 | } 79 | System.out.println(""); 80 | System.out.print(arr2[0]+","); 81 | for(int i = 1;i<=length-1;i++){ 82 | if(nums[i] <= nums[i-1]) arr2[i] = arr2[i-1]+1; 83 | else arr2[i] = 1; 84 | System.out.print(arr2[i]+","); 85 | max = Math.max(max,arr2[i]); 86 | } 87 | System.out.println(""); 88 | return max; 89 | } 90 | } -------------------------------------------------------------------------------- /LeetCode.java: -------------------------------------------------------------------------------- 1 | aa 2 | bb 3 | cc 4 | aa 5 | bb 6 | cc 7 | aa 8 | bb 9 | cc 10 | aa 11 | bb 12 | cc 13 | aa 14 | bb 15 | cc 16 | aa 17 | bb 18 | cc 19 | aa 20 | bb 21 | cc 22 | aa 23 | bb 24 | cc 25 | aa 26 | bb 27 | cc 28 | aa 29 | bb 30 | cc 31 | aa 32 | bb 33 | cc 34 | aa 35 | bb 36 | cc 37 | aa 38 | bb 39 | cc 40 | aa 41 | bb 42 | cc 43 | aa 44 | bb 45 | cc 46 | aa 47 | bb 48 | cc 49 | aa 50 | bb 51 | cc 52 | aa 53 | bb 54 | cc 55 | aa 56 | bb 57 | cc 58 | aa 59 | bb 60 | cc 61 | aa 62 | bb 63 | cc 64 | aa 65 | bb 66 | cc 67 | aa 68 | bb 69 | cc 70 | aa 71 | bb 72 | cc 73 | aa 74 | bb 75 | cc 76 | aa 77 | bb 78 | cc 79 | aa 80 | bb 81 | cc 82 | aa 83 | bb 84 | cc 85 | aa 86 | bb 87 | cc 88 | aa 89 | bb 90 | cc 91 | aa 92 | bb 93 | cc 94 | aa 95 | bb 96 | cc 97 | aa 98 | bb 99 | cc 100 | aa 101 | bb 102 | cc 103 | aa 104 | bb 105 | cc 106 | aa 107 | bb 108 | cc 109 | aa 110 | bb 111 | cc 112 | aa 113 | bb 114 | cc 115 | aa 116 | bb 117 | cc 118 | aa 119 | bb 120 | cc 121 | aa 122 | bb 123 | cc 124 | aa 125 | bb 126 | cc 127 | aa 128 | bb 129 | cc 130 | aa 131 | bb 132 | cc 133 | aa 134 | bb 135 | cc 136 | aa 137 | bb 138 | cc 139 | aa 140 | bb 141 | cc 142 | aa 143 | bb 144 | cc 145 | aa 146 | bb 147 | cc 148 | aa 149 | bb 150 | cc 151 | aa 152 | bb 153 | cc 154 | aa 155 | bb 156 | cc 157 | aa 158 | bb 159 | cc 160 | aa 161 | bb 162 | cc 163 | aa 164 | bb 165 | cc 166 | aa 167 | aa 168 | aa 169 | aa 170 | bb 171 | cc 172 | aa 173 | bb 174 | cc 175 | aa 176 | bb 177 | aa 178 | bb 179 | cc 180 | aa 181 | bb 182 | cc 183 | aa 184 | bb 185 | cc 186 | aa 187 | bb 188 | cc 189 | aa 190 | bb 191 | cc 192 | aa 193 | bb 194 | cc 195 | aa 196 | bb 197 | cc 198 | aa 199 | bb 200 | cc 201 | aa 202 | aa 203 | bb 204 | cc 205 | aa 206 | bb 207 | cc 208 | aa 209 | aa 210 | bb 211 | cc 212 | aa 213 | bb 214 | cc 215 | aa 216 | bb 217 | cc 218 | aa 219 | bb 220 | cc 221 | aa 222 | bb 223 | cc 224 | aa 225 | bb 226 | cc 227 | aa 228 | bb 229 | cc 230 | aa 231 | bb 232 | cc 233 | aa 234 | bb 235 | cc 236 | aa 237 | bb 238 | cc 239 | aa 240 | bb 241 | cc 242 | aa 243 | bb 244 | cc 245 | aa 246 | bb 247 | cc 248 | aa 249 | bb 250 | cc 251 | aa 252 | bb 253 | cc 254 | aa 255 | bb 256 | cc 257 | aa 258 | bb 259 | cc 260 | aa 261 | bb 262 | cc 263 | aa 264 | bb 265 | cc 266 | aa 267 | aa 268 | bb 269 | bb 270 | cc 271 | cc 272 | aa 273 | bb 274 | cc 275 | aa 276 | bb 277 | cc 278 | aa 279 | bb 280 | cc 281 | aa 282 | bb 283 | cc 284 | aa 285 | bb 286 | cc 287 | aa 288 | bb 289 | cc 290 | aa 291 | bb 292 | cc 293 | aa 294 | bb 295 | cc 296 | aa 297 | bb 298 | cc 299 | aa 300 | bb 301 | cc 302 | aa 303 | bb 304 | cc 305 | aa 306 | bb 307 | cc 308 | aa 309 | bb 310 | cc 311 | aa 312 | bb 313 | cc 314 | aa 315 | bb 316 | cc 317 | aa 318 | bb 319 | cc 320 | aa 321 | aa 322 | bb 323 | cc 324 | aa 325 | bb 326 | cc 327 | aa 328 | bb 329 | aa 330 | bb 331 | aa 332 | bb 333 | aa 334 | bb 335 | aa 336 | bb 337 | aa 338 | bb 339 | aa 340 | bb 341 | aa 342 | bb 343 | aa 344 | bb 345 | aa 346 | bb 347 | aa 348 | bb 349 | aa 350 | bb 351 | aa 352 | bb 353 | aa 354 | bb 355 | aa 356 | bb 357 | aa 358 | bb 359 | aa 360 | bb 361 | aa 362 | bb 363 | aa 364 | bb 365 | aa 366 | aa 367 | bb 368 | aa 369 | aa 370 | bb 371 | aa 372 | aa 373 | aa 374 | aa 375 | aa 376 | aa 377 | aa 378 | aa 379 | aa 380 | aa 381 | aa 382 | aa 383 | aa 384 | aa 385 | aa 386 | aa 387 | aa 388 | aa 389 | aa 390 | aa 391 | aa 392 | aa 393 | aa 394 | aa 395 | aa 396 | aa 397 | aa 398 | aa 399 | aa 400 | aa 401 | aa 402 | aa 403 | aa 404 | aa 405 | aa 406 | aa 407 | aa 408 | aa 409 | aa 410 | aa 411 | aa 412 | aa 413 | aa 414 | aa 415 | aa 416 | aa 417 | aa 418 | aa 419 | aa 420 | aa 421 | aa 422 | aa 423 | aa 424 | aa 425 | aa 426 | aa 427 | aa 428 | aa 429 | aa 430 | aa 431 | aa 432 | aa 433 | aa 434 | aa 435 | aa 436 | aa 437 | aa 438 | aa 439 | aa 440 | aa 441 | aa 442 | aa 443 | aa 444 | aa 445 | aa 446 | aa 447 | aa 448 | aa 449 | aa 450 | aa 451 | aa 452 | aa 453 | aa 454 | aa 455 | aa 456 | aa 457 | aa 458 | aa 459 | aa 460 | aa 461 | aa 462 | aa 463 | aa 464 | aa 465 | aa 466 | aa 467 | aa 468 | aa 469 | aa 470 | aa 471 | aa 472 | aa 473 | aa 474 | aa 475 | aa 476 | aa 477 | aa 478 | aa 479 | aa 480 | aa 481 | aa 482 | aa 483 | aa 484 | aa 485 | aa 486 | aa 487 | aa 488 | aa 489 | aa 490 | aa 491 | aa 492 | aa 493 | aa 494 | aa 495 | aa 496 | aa 497 | aa 498 | aa 499 | aa 500 | aa 501 | aa 502 | aa 503 | aa 504 | aa 505 | aa 506 | aa 507 | aa 508 | aa 509 | aa 510 | aa 511 | aa 512 | aa 513 | aa 514 | aa 515 | aa 516 | aa 517 | aa 518 | aa 519 | aa 520 | aa 521 | aa 522 | aa 523 | aa 524 | aa 525 | aa 526 | aa 527 | aa 528 | aa 529 | aa 530 | aa 531 | aa 532 | aa 533 | aa 534 | aa 535 | aa 536 | aa 537 | aa 538 | aa 539 | aa 540 | aa 541 | aa 542 | aa 543 | aa 544 | aa 545 | aa 546 | aa 547 | aa 548 | aa 549 | aa 550 | aa 551 | aa 552 | aa 553 | aa 554 | aa 555 | aa 556 | aa 557 | aa 558 | aa 559 | aa 560 | aa 561 | aa 562 | aa 563 | aa 564 | aa 565 | aa 566 | aa 567 | aa 568 | aa 569 | aa 570 | aa 571 | aa 572 | aa 573 | aa 574 | aa 575 | aa 576 | aa 577 | aa 578 | aa 579 | aa 580 | aa 581 | aa 582 | aa 583 | aa 584 | aa 585 | aa 586 | aa 587 | aa 588 | aa 589 | aa 590 | aa 591 | aa 592 | aa 593 | aa 594 | aa 595 | aa 596 | aa 597 | aa 598 | aa 599 | aa 600 | aa 601 | aa 602 | aa 603 | aa 604 | aa 605 | aa 606 | aa 607 | aa 608 | aa 609 | aa 610 | aa 611 | aa 612 | aa 613 | aa 614 | aa 615 | aa 616 | aa 617 | aa 618 | aa 619 | aa 620 | aa 621 | aa 622 | aa 623 | aa 624 | aa 625 | aa 626 | aa 627 | aa 628 | aa 629 | aa 630 | aa 631 | aa 632 | aa 633 | aa 634 | aa 635 | aa 636 | aa 637 | aa 638 | aa 639 | aa 640 | aa 641 | aa 642 | aa 643 | aa 644 | aa 645 | aa 646 | aa 647 | aa 648 | aa 649 | aa 650 | aa 651 | aa 652 | aa 653 | aa 654 | aa 655 | aa 656 | aa 657 | aa 658 | aa 659 | aa 660 | aa 661 | aa 662 | aa 663 | aa 664 | aa 665 | aa 666 | aa 667 | aa 668 | aa 669 | aa 670 | aa 671 | aa 672 | aa 673 | aa 674 | aa 675 | aa 676 | aa 677 | aa 678 | aa 679 | aa 680 | aa 681 | aa 682 | aa 683 | aa 684 | aa 685 | aa 686 | aa 687 | aa 688 | aa 689 | aa 690 | aa 691 | aa 692 | aa 693 | aa 694 | aa 695 | aa 696 | aa 697 | aa 698 | aa 699 | aa 700 | aa 701 | aa 702 | aa 703 | aa 704 | aa 705 | aa 706 | aa 707 | aa 708 | aa 709 | aa 710 | aa 711 | aa 712 | aa 713 | aa 714 | aa 715 | aa 716 | aa 717 | aa 718 | aa 719 | aa 720 | aa 721 | aa 722 | aa 723 | aa 724 | aa 725 | aa 726 | aa 727 | aa 728 | aa 729 | aa 730 | aa 731 | aa 732 | aa 733 | aa 734 | aa 735 | aa 736 | aa 737 | aa 738 | aa 739 | aa 740 | aa 741 | aa 742 | aa 743 | aa 744 | aa 745 | aa 746 | aa 747 | aa 748 | aa 749 | aa 750 | aa 751 | aa 752 | aa 753 | aa 754 | aa 755 | aa 756 | aa 757 | aa 758 | aa 759 | aa 760 | aa 761 | aa 762 | aa 763 | aa 764 | aa 765 | aa 766 | aa 767 | aa 768 | aa 769 | aa 770 | aa 771 | aa 772 | aa 773 | aa 774 | aa 775 | aa 776 | aa 777 | aa 778 | aa 779 | aa 780 | aa 781 | aa 782 | aa 783 | aa 784 | --------------------------------------------------------------------------------