parent
fb0d4915a9
commit
8c2a321164
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1,52 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<parent>
|
||||||
|
<artifactId>online-taxi-public</artifactId>
|
||||||
|
<groupId>com.mashibing</groupId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>api-passenger</artifactId>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>8</maven.compiler.source>
|
||||||
|
<maven.compiler.target>8</maven.compiler.target>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-web</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- add nacos -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba.cloud</groupId>
|
||||||
|
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.cloud</groupId>
|
||||||
|
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.cloud</groupId>
|
||||||
|
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
</project>
|
@ -0,0 +1,15 @@
|
|||||||
|
package com.mashibing.apipassenger;
|
||||||
|
|
||||||
|
import org.springframework.boot.SpringApplication;
|
||||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||||
|
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||||
|
|
||||||
|
@SpringBootApplication
|
||||||
|
@EnableDiscoveryClient
|
||||||
|
@EnableFeignClients
|
||||||
|
public class ApiPassengerApplication {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
SpringApplication.run(ApiPassengerApplication.class);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
package com.mashibing.apipassenger.controller;
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
public class TestController {
|
||||||
|
@GetMapping("/test")
|
||||||
|
public String test(){
|
||||||
|
return "test api passenger";
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,34 @@
|
|||||||
|
package com.mashibing.apipassenger.controller;
|
||||||
|
|
||||||
|
import com.mashibing.apipassenger.Service.VerificationCodeService;
|
||||||
|
import com.mashibing.internal.common.request.VerificationCodeDTO;
|
||||||
|
import com.mashibing.internal.common.dto.ResponseResult;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
public class VerificationCodeController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private VerificationCodeService verificationCodeService;
|
||||||
|
@GetMapping("/verification-code")
|
||||||
|
private ResponseResult verificationCode(@RequestBody VerificationCodeDTO verificationCodeDTO ){
|
||||||
|
String passengerPhone = verificationCodeDTO.getPassengerPhone();
|
||||||
|
System.out.println(passengerPhone);
|
||||||
|
return verificationCodeService.generatorCode(passengerPhone);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/verification-code-check")
|
||||||
|
public ResponseResult checkVerificationCode(@RequestBody VerificationCodeDTO verificationCodeDTO){
|
||||||
|
|
||||||
|
String passengerPhone = verificationCodeDTO.getPassengerPhone();
|
||||||
|
System.out.println(passengerPhone);
|
||||||
|
String verificationCode = verificationCodeDTO.getVerificationCode();
|
||||||
|
|
||||||
|
System.out.println("手机号"+ passengerPhone + ",验证码:"+verificationCode);
|
||||||
|
return verificationCodeService.checkCode(passengerPhone,verificationCode);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch01;
|
||||||
|
|
||||||
|
public class TestArray {
|
||||||
|
|
||||||
|
public static void main(String[] args){
|
||||||
|
|
||||||
|
long[] arr = new long[]{
|
||||||
|
2,3,4
|
||||||
|
};
|
||||||
|
arr[0] =1;
|
||||||
|
System.out.println(arr[0]);
|
||||||
|
System.out.println(arr[1]);
|
||||||
|
System.out.println(arr[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch01;
|
||||||
|
|
||||||
|
public class TestMyArray {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
|
||||||
|
MyArray arr = new MyArray();
|
||||||
|
arr.insert(13);
|
||||||
|
arr.insert(34);
|
||||||
|
arr.insert(90);
|
||||||
|
arr.display();
|
||||||
|
System.out.println(arr.search(34));
|
||||||
|
System.out.println(arr.get(1));
|
||||||
|
arr.delete(1);
|
||||||
|
arr.display();
|
||||||
|
arr.change(0,12);
|
||||||
|
arr.display();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch01;
|
||||||
|
|
||||||
|
public class TestMyOrderArray {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
|
||||||
|
MyOrderArray arr = new MyOrderArray();
|
||||||
|
arr.insert(13);
|
||||||
|
arr.insert(34);
|
||||||
|
arr.insert(90);
|
||||||
|
arr.insert(10);
|
||||||
|
arr.display();
|
||||||
|
|
||||||
|
System.out.println(arr.binarySearch(90));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch02;
|
||||||
|
|
||||||
|
public class BubbleSort {
|
||||||
|
|
||||||
|
public static void sort(long[] arr){
|
||||||
|
long temp =0;
|
||||||
|
for(int i =0;i<arr.length -1;i++){
|
||||||
|
for(int j=arr.length-1;j>i;j--){
|
||||||
|
if(arr[j]<arr[j-1]){
|
||||||
|
//进行交换
|
||||||
|
temp = arr[j];
|
||||||
|
arr[j] = arr[j-1];
|
||||||
|
arr[j-1] =temp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch02;
|
||||||
|
|
||||||
|
public class InsertSort {
|
||||||
|
|
||||||
|
public static void sort(long[] arr){
|
||||||
|
long temp =0;
|
||||||
|
for(int i=1;i<arr.length;i++){
|
||||||
|
temp =arr[i];
|
||||||
|
int j=i;
|
||||||
|
while(j>0 && arr[j]>=temp){
|
||||||
|
arr[j] =arr[j-1];
|
||||||
|
j--;
|
||||||
|
}
|
||||||
|
arr[j] =temp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch02;
|
||||||
|
|
||||||
|
public class SelectionSort {
|
||||||
|
|
||||||
|
public static void sort(long[] arr){
|
||||||
|
int k=0;
|
||||||
|
long temp =0;
|
||||||
|
for(int i=0;i<arr.length-1;i++){
|
||||||
|
k=i;
|
||||||
|
for(int j=i;j<arr.length;j++){
|
||||||
|
if(arr[j] <arr[k]){
|
||||||
|
k=j;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
temp =arr[i];
|
||||||
|
arr[i] = arr[k];
|
||||||
|
arr[k] = temp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch02;
|
||||||
|
|
||||||
|
public class TestSelectionSort {
|
||||||
|
public static void main(String[] args){
|
||||||
|
long[] arr = new long[5];
|
||||||
|
arr[0] =34;
|
||||||
|
arr[1] =23;
|
||||||
|
arr[2] =2;
|
||||||
|
arr[3] =1;
|
||||||
|
arr[4] =-4;
|
||||||
|
System.out.print("[");
|
||||||
|
for(long num:arr){
|
||||||
|
System.out.print(num+" ");
|
||||||
|
}
|
||||||
|
System.out.print("]");
|
||||||
|
System.out.println();
|
||||||
|
InsertSort.sort(arr);
|
||||||
|
|
||||||
|
System.out.print("[");
|
||||||
|
for(long num:arr){
|
||||||
|
System.out.print(num+" ");
|
||||||
|
}
|
||||||
|
System.out.print("]");
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch02;
|
||||||
|
|
||||||
|
public class TestSort {
|
||||||
|
public static void main(String[] args){
|
||||||
|
long[] arr = new long[5];
|
||||||
|
arr[0] =34;
|
||||||
|
arr[1] =23;
|
||||||
|
arr[2] =2;
|
||||||
|
arr[3] =1;
|
||||||
|
arr[4] =-4;
|
||||||
|
System.out.print("[");
|
||||||
|
for(long num:arr){
|
||||||
|
System.out.print(num+" ");
|
||||||
|
}
|
||||||
|
System.out.print("]");
|
||||||
|
System.out.println();
|
||||||
|
BubbleSort.sort(arr);
|
||||||
|
|
||||||
|
System.out.print("[");
|
||||||
|
for(long num:arr){
|
||||||
|
System.out.print(num+" ");
|
||||||
|
}
|
||||||
|
System.out.print("]");
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch03;
|
||||||
|
|
||||||
|
public class TestMyCycleQueue {
|
||||||
|
public static void main(String[] args){
|
||||||
|
MyCycleQueue mq= new MyCycleQueue(4);
|
||||||
|
mq.insert(23);
|
||||||
|
mq.insert(45);
|
||||||
|
mq.insert(13);
|
||||||
|
mq.insert(1);
|
||||||
|
|
||||||
|
System.out.println(mq.isFull());
|
||||||
|
System.out.println(mq.isEmpty());
|
||||||
|
System.out.println(mq.peek());
|
||||||
|
while(!mq.isEmpty()){
|
||||||
|
System.out.println(mq.remove()+" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
mq.insert(23);
|
||||||
|
mq.insert(45);
|
||||||
|
mq.insert(13);
|
||||||
|
mq.insert(1);
|
||||||
|
while(!mq.isEmpty()){
|
||||||
|
System.out.println(mq.remove()+" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch03;
|
||||||
|
|
||||||
|
public class TestMyQueue {
|
||||||
|
public static void main(String[] args){
|
||||||
|
MyQueue mq= new MyQueue(4);
|
||||||
|
mq.insert(23);
|
||||||
|
mq.insert(45);
|
||||||
|
mq.insert(13);
|
||||||
|
mq.insert(1);
|
||||||
|
|
||||||
|
System.out.println(mq.isFull());
|
||||||
|
System.out.println(mq.isEmpty());
|
||||||
|
System.out.println(mq.peek());
|
||||||
|
while(!mq.isEmpty()){
|
||||||
|
System.out.println(mq.remove()+" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
mq.insert(23);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch03;
|
||||||
|
|
||||||
|
public class TestMyStack {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
MyStack myStack = new MyStack(4);
|
||||||
|
myStack.push(23);
|
||||||
|
myStack.push(12);
|
||||||
|
myStack.push(1);
|
||||||
|
myStack.push(90);
|
||||||
|
System.out.println(myStack.isEmpty());
|
||||||
|
System.out.println(myStack.isFull());
|
||||||
|
|
||||||
|
System.out.println(myStack.peek());
|
||||||
|
System.out.println(myStack.peek());
|
||||||
|
|
||||||
|
|
||||||
|
while(!myStack.isEmpty()){
|
||||||
|
System.out.println(myStack.pop() + ",");
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println(myStack.isEmpty());
|
||||||
|
System.out.println(myStack.isFull());
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch04;
|
||||||
|
|
||||||
|
public class TestLinkList {
|
||||||
|
public static void main(String[] args){
|
||||||
|
LinkList linkList = new LinkList();
|
||||||
|
linkList.insertFirst(12);
|
||||||
|
linkList.insertFirst(23);
|
||||||
|
linkList.insertFirst(34);
|
||||||
|
linkList.display();
|
||||||
|
linkList.deleteFirst();
|
||||||
|
linkList.display();
|
||||||
|
linkList.delete(12);
|
||||||
|
linkList.display();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch06;
|
||||||
|
|
||||||
|
public class Fibonacci {
|
||||||
|
|
||||||
|
public static int getNumber(int n){
|
||||||
|
if(n==1){
|
||||||
|
return 0;
|
||||||
|
}else if(n ==2){
|
||||||
|
return 1;
|
||||||
|
}else{
|
||||||
|
return getNumber(n-1)+getNumber(n-2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch06;
|
||||||
|
|
||||||
|
public class Recursion {
|
||||||
|
public static void main(String[] args){
|
||||||
|
test2(100);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void test(){
|
||||||
|
System.out.println("Hello world!");
|
||||||
|
test();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void test2(int n){
|
||||||
|
System.out.println(n);
|
||||||
|
if(n == 0){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
test2(n-1);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch06;
|
||||||
|
|
||||||
|
public class TestFibonacci {
|
||||||
|
|
||||||
|
public static void main(String[] args){
|
||||||
|
System.out.println(Fibonacci.getNumber(20));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch06;
|
||||||
|
|
||||||
|
public class TestTriangle {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println(Triangle.getNumber(500));
|
||||||
|
System.out.println(Triangle.getNumberByRecursion(500));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch06;
|
||||||
|
|
||||||
|
public class Triangle {
|
||||||
|
|
||||||
|
public static int getNumber(int n){
|
||||||
|
int total =0;
|
||||||
|
while(n>0){
|
||||||
|
total=total+n;
|
||||||
|
n--;
|
||||||
|
}
|
||||||
|
return total;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static int getNumberByRecursion(int n){
|
||||||
|
if(n == 1){
|
||||||
|
return 1;
|
||||||
|
}else{
|
||||||
|
return n+getNumberByRecursion(n-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch07;
|
||||||
|
|
||||||
|
public class HanoiTower {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 移动盘子
|
||||||
|
* topN:移动的盘子数
|
||||||
|
* from:起始塔座
|
||||||
|
* inter:中间塔座
|
||||||
|
* to:目标塔座
|
||||||
|
*/
|
||||||
|
public static void doTower(int topN,char from,char inter,char to){
|
||||||
|
if(topN ==1){
|
||||||
|
System.out.println("盘子1,从" +from+"塔座到"+to+"塔座");
|
||||||
|
}else{
|
||||||
|
doTower(topN-1,from,to,inter);
|
||||||
|
System.out.println("盘子"+topN +",从"+from +"塔座到"+to +"塔座");
|
||||||
|
doTower(topN-1,inter,from,to);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch07;
|
||||||
|
|
||||||
|
public class TestHanoiTower {
|
||||||
|
public static void main(String[] args){
|
||||||
|
HanoiTower.doTower(3,'A','B','C');
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch08;
|
||||||
|
|
||||||
|
public class ShellSort {
|
||||||
|
/**
|
||||||
|
* 排序方法
|
||||||
|
*/
|
||||||
|
public static void sort(long[] arr){
|
||||||
|
//初始化一个间隔
|
||||||
|
int h=1;
|
||||||
|
//计算最大间隔
|
||||||
|
while(h<arr.length / 3){
|
||||||
|
h = h *3+1;
|
||||||
|
}
|
||||||
|
|
||||||
|
while(h>0){
|
||||||
|
//进行插入排序
|
||||||
|
long temp =0;
|
||||||
|
for(int i=h;i<arr.length;i++){
|
||||||
|
temp =arr[i];
|
||||||
|
int j =i;
|
||||||
|
while(j>h-1 && arr[j-h] >= temp){
|
||||||
|
arr[j]=arr[j-h];
|
||||||
|
j-=h;
|
||||||
|
}
|
||||||
|
arr[j] = temp;
|
||||||
|
}
|
||||||
|
//减小间隔
|
||||||
|
h= (h-1)/3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,28 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch08;
|
||||||
|
|
||||||
|
import com.mashibing.apipassenger.mashibing.ch02.BubbleSort;
|
||||||
|
|
||||||
|
public class TestShellSort {
|
||||||
|
public static void main(String[] args){
|
||||||
|
long[] arr = new long[5];
|
||||||
|
arr[0] =34;
|
||||||
|
arr[1] =23;
|
||||||
|
arr[2] =2;
|
||||||
|
arr[3] =1;
|
||||||
|
arr[4] =-4;
|
||||||
|
System.out.print("[");
|
||||||
|
for(long num:arr){
|
||||||
|
System.out.print(num+" ");
|
||||||
|
}
|
||||||
|
System.out.print("]");
|
||||||
|
System.out.println();
|
||||||
|
ShellSort.sort(arr);
|
||||||
|
|
||||||
|
System.out.print("[");
|
||||||
|
for(long num:arr){
|
||||||
|
System.out.print(num+" ");
|
||||||
|
}
|
||||||
|
System.out.print("]");
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch09;
|
||||||
|
|
||||||
|
public class QuickSort {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 划分数组
|
||||||
|
*/
|
||||||
|
|
||||||
|
public static void partition(long arr[] ,int left,int right,int point){
|
||||||
|
int leftPtr = left-1;
|
||||||
|
int rightPtr = right + 1;
|
||||||
|
while(true){
|
||||||
|
//循环,将比关键字小的留在左端
|
||||||
|
while(leftPtr<rightPtr && arr[++leftPtr]<point);
|
||||||
|
//循环,将比关键字大的留在右端
|
||||||
|
while(rightPtr>leftPtr && arr[--rightPtr] >point) ;
|
||||||
|
if(leftPtr>=rightPtr){
|
||||||
|
return;
|
||||||
|
}else{
|
||||||
|
long temp = arr[leftPtr];
|
||||||
|
arr[leftPtr] = arr[rightPtr];
|
||||||
|
arr[rightPtr] =temp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch09;
|
||||||
|
|
||||||
|
public class TestQuickSort {
|
||||||
|
|
||||||
|
public static void main(String[] args){
|
||||||
|
long[] arr =new long[10];
|
||||||
|
for(int i=0;i<10;i++){
|
||||||
|
arr[i] = (long)(Math.random()*99);
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.print("[");
|
||||||
|
for(long num:arr){
|
||||||
|
System.out.print(num+" ");
|
||||||
|
}
|
||||||
|
System.out.print("]");
|
||||||
|
System.out.println();
|
||||||
|
|
||||||
|
QuickSort.partition(arr,0,arr.length-1,45);
|
||||||
|
|
||||||
|
System.out.print("[");
|
||||||
|
for(long num:arr){
|
||||||
|
System.out.print(num+" ");
|
||||||
|
}
|
||||||
|
System.out.print("]");
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch10;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class Node {
|
||||||
|
//数据项
|
||||||
|
public long data;
|
||||||
|
|
||||||
|
//数据项
|
||||||
|
public String sData;
|
||||||
|
//左子节点
|
||||||
|
public Node leftChild;
|
||||||
|
|
||||||
|
//右子节点
|
||||||
|
public Node rightChild;
|
||||||
|
|
||||||
|
public Node(long data) {
|
||||||
|
this.data = data;
|
||||||
|
}
|
||||||
|
public Node(long data,String sData){
|
||||||
|
this.data = data;
|
||||||
|
this.sData=sData;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch18;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图
|
||||||
|
*/
|
||||||
|
public class Graph {
|
||||||
|
|
||||||
|
//顶点数组
|
||||||
|
private Vertex[] vertexList;
|
||||||
|
//邻接矩阵
|
||||||
|
private int[][] adjMat;
|
||||||
|
//顶点的最大数目
|
||||||
|
private int maxSize;
|
||||||
|
//当前顶点
|
||||||
|
private int nVertex;
|
||||||
|
public Graph(){
|
||||||
|
vertexList = new Vertex[maxSize];
|
||||||
|
adjMat = new int[maxSize][maxSize];
|
||||||
|
for(int i=0;i<maxSize;i++){
|
||||||
|
for(int j =0;j<maxSize;j++){
|
||||||
|
adjMat[i][j] =0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
nVertex =0;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch18;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 顶点类
|
||||||
|
*/
|
||||||
|
public class Vertex {
|
||||||
|
|
||||||
|
private char label;
|
||||||
|
|
||||||
|
public Vertex(char label){
|
||||||
|
this.label = label;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,32 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch21;
|
||||||
|
|
||||||
|
public class BubbleSort {
|
||||||
|
|
||||||
|
public static void main(String[] args){
|
||||||
|
int[] a = {9,3,1,4,6,8,7,5,2};
|
||||||
|
sort(a);
|
||||||
|
print(a);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void sort(int[] a) {
|
||||||
|
for(int i=a.length-1;i>0;i--){
|
||||||
|
for(int j=0;j<i;j++) {
|
||||||
|
if (a[j] > a[j + 1]) {
|
||||||
|
swap(a, j, j + 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void swap(int[] a,int i,int j){
|
||||||
|
int temp = a[i];
|
||||||
|
a[i] = a[j];
|
||||||
|
a[j] =temp;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void print(int[] arr){
|
||||||
|
for(int i=0;i<arr.length;i++){
|
||||||
|
System.out.print(arr[i] + " ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch21;
|
||||||
|
|
||||||
|
public class InsertionSort {
|
||||||
|
|
||||||
|
public static void main(String[] args){
|
||||||
|
int[] a = {9,3,1,4,6,8,7,5,2};
|
||||||
|
sort(a);
|
||||||
|
print(a);
|
||||||
|
}
|
||||||
|
static void sort(int[] a){
|
||||||
|
for(int i=1;i<a.length;i++){
|
||||||
|
for(int j=i;j>0;j--){
|
||||||
|
if(a[j] <a[j-1]){
|
||||||
|
swap(a,j,j-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
static void swap(int[] a,int i,int j){
|
||||||
|
int temp =a[i];
|
||||||
|
a[i]= a[j];
|
||||||
|
a[j]=temp;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void print(int[] arr){
|
||||||
|
for(int i=0;i<arr.length;i++){
|
||||||
|
System.out.print(arr[i] +" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,48 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch21;
|
||||||
|
|
||||||
|
public class MergeSort {
|
||||||
|
|
||||||
|
public static void main(String[] args){
|
||||||
|
int[] a = {7,10,15,16,2,5,13};
|
||||||
|
sort(a);
|
||||||
|
}
|
||||||
|
static void sort(int[] a){
|
||||||
|
merge(a,0,3);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void merge(int[] a,int leftPtr,int mid){
|
||||||
|
int[] temp =new int[a.length];
|
||||||
|
int i=leftPtr;
|
||||||
|
int j=mid +1;
|
||||||
|
int k=0;
|
||||||
|
while(i<= mid && j<a.length){
|
||||||
|
if(a[i]<= a[j]){
|
||||||
|
temp[k] = a[i];
|
||||||
|
k++;
|
||||||
|
i++;
|
||||||
|
}else{
|
||||||
|
temp[k] =a[j];
|
||||||
|
j++;
|
||||||
|
k++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while(i<=mid){
|
||||||
|
temp[k++]=a[i++];
|
||||||
|
}
|
||||||
|
while(j<a.length){
|
||||||
|
temp[k++] = a[j++];
|
||||||
|
}
|
||||||
|
print(temp);
|
||||||
|
}
|
||||||
|
static void swap(int[] a,int i,int j){
|
||||||
|
int temp =a[i];
|
||||||
|
a[i]= a[j];
|
||||||
|
a[j]=temp;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void print(int[] arr){
|
||||||
|
for(int i=0;i<arr.length;i++){
|
||||||
|
System.out.print(arr[i] +" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch21;
|
||||||
|
|
||||||
|
public class Recursion4 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println(f(10));
|
||||||
|
}
|
||||||
|
static long f(int n){
|
||||||
|
if(n<1){
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if(n ==1){
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return n+ f(n-1);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,37 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch21;
|
||||||
|
|
||||||
|
public class ShellSort {
|
||||||
|
|
||||||
|
public static void main(String[] args){
|
||||||
|
int[] a = {9,6,11,3,5,12,8,7,10,15,14,4,1,13,2};
|
||||||
|
sort(a);
|
||||||
|
print(a);
|
||||||
|
}
|
||||||
|
static void sort(int[] a){
|
||||||
|
|
||||||
|
int h =1;
|
||||||
|
while(h<a.length/3){
|
||||||
|
h=h*3 +1;
|
||||||
|
}
|
||||||
|
for(int gap =h;gap>0;gap=(gap-1)/3) {
|
||||||
|
for (int i = gap; i < a.length; i++) {
|
||||||
|
for (int j = i; j > gap - 1; j -= gap) {
|
||||||
|
if (a[j] < a[j - gap]) {
|
||||||
|
swap(a, j, j - gap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
static void swap(int[] a,int i,int j){
|
||||||
|
int temp =a[i];
|
||||||
|
a[i]= a[j];
|
||||||
|
a[j]=temp;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void print(int[] arr){
|
||||||
|
for(int i=0;i<arr.length;i++){
|
||||||
|
System.out.print(arr[i] +" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch5;
|
||||||
|
|
||||||
|
public class TestDoubleLinkList {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
DoubleLinkList d1 = new DoubleLinkList();
|
||||||
|
d1.insertLast(45);
|
||||||
|
d1.insertLast(56);
|
||||||
|
d1.insertLast(90);
|
||||||
|
d1.display();
|
||||||
|
|
||||||
|
d1.deleteLast();
|
||||||
|
d1.display();
|
||||||
|
|
||||||
|
while(!d1.isEmpty()){
|
||||||
|
d1.deleteFirst();
|
||||||
|
d1.display();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.ch5;
|
||||||
|
|
||||||
|
public class TestFirstLastLinkList {
|
||||||
|
public static void main(String[] args){
|
||||||
|
FirstLastLinkList f1 = new FirstLastLinkList();
|
||||||
|
/* f1.insertFirst(34);
|
||||||
|
f1.insertFirst(56);
|
||||||
|
f1.insertFirst(67);
|
||||||
|
|
||||||
|
f1.display();
|
||||||
|
f1.deleteFirst();
|
||||||
|
f1.deleteFirst();
|
||||||
|
f1.display();*/
|
||||||
|
|
||||||
|
f1.insertLast(56);
|
||||||
|
f1.insertLast(90);
|
||||||
|
f1.insertLast(12);
|
||||||
|
f1.insertFirst(34);
|
||||||
|
f1.insertFirst(56);
|
||||||
|
f1.insertFirst(67);
|
||||||
|
f1.display();
|
||||||
|
|
||||||
|
f1.deleteFirst();
|
||||||
|
f1.display();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,28 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.test01;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
public class Test {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
List<String> list =new ArrayList<>();
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
// 注意 hasNext 和 hasNextLine 的区别
|
||||||
|
|
||||||
|
while (in.hasNextLine()) { // 注意 while 处理多个 case
|
||||||
|
|
||||||
|
String a = in.nextLine();
|
||||||
|
int c = Integer.valueOf(a);
|
||||||
|
for(int i=0;i<c;i++){
|
||||||
|
String b= in.nextLine();
|
||||||
|
list.add(b);
|
||||||
|
}
|
||||||
|
Collections.sort(list);
|
||||||
|
for(String str:list){
|
||||||
|
System.out.println(str);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.test01;
|
||||||
|
|
||||||
|
public class Test01 {
|
||||||
|
|
||||||
|
public static void main(String[] args){
|
||||||
|
int a =5;
|
||||||
|
String str = Integer.toString(a,2);
|
||||||
|
System.out.println(str);
|
||||||
|
|
||||||
|
char[] chars= str.toCharArray();
|
||||||
|
int count=0;
|
||||||
|
for(int i=0;i<chars.length;i++){
|
||||||
|
System.out.println(chars[i]);
|
||||||
|
if(chars[i] == '1'){
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println(count);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,37 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.test01;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class Test02 {
|
||||||
|
public static void main(String[] args){
|
||||||
|
String paragraph = "Bob hit a ball, the hit BALL flew far after it was hit.";
|
||||||
|
String[] banned = {"hit"};
|
||||||
|
paragraph=paragraph.toLowerCase().replace('!',' ');
|
||||||
|
paragraph=paragraph.replace('?',' ').replace('\'',' ').replace(',',' ').replace(';',' ').replace('.',' ').trim();
|
||||||
|
String[] s = paragraph.split(" ");
|
||||||
|
Map<String,Integer> map1=new HashMap<>();
|
||||||
|
Map<String,Integer> map2=new HashMap<>();
|
||||||
|
//被禁用的单词放入map1
|
||||||
|
for(String str:banned){
|
||||||
|
map1.put(str,1);
|
||||||
|
}
|
||||||
|
//把没有禁用的单词放入map2
|
||||||
|
for(String str : s){
|
||||||
|
if(!map1.containsKey(str)&&!str.equals("")){
|
||||||
|
map2.put(str,map2.getOrDefault(str,0)+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//在map2找出出现最多的单词
|
||||||
|
int max=-1;
|
||||||
|
String res=null;
|
||||||
|
for(String str:map2.keySet()){
|
||||||
|
if(map2.get(str)>max){
|
||||||
|
max=map2.get(str);
|
||||||
|
res=str;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println(res);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.test01;
|
||||||
|
|
||||||
|
public class Test03 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package com.mashibing.apipassenger.mashibing.test01;
|
||||||
|
|
||||||
|
public class Test04 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
long a = 2000000014;
|
||||||
|
|
||||||
|
for(long i=2;i<=a;i++){
|
||||||
|
|
||||||
|
while(a % i==0){
|
||||||
|
System.out.print(i+" ");
|
||||||
|
a /= i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
package com.mashibing.apipassenger.remote;
|
||||||
|
|
||||||
|
import com.mashibing.internal.common.dto.ResponseResult;
|
||||||
|
import com.mashibing.internal.common.request.VerificationCodeDTO;
|
||||||
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
|
||||||
|
@FeignClient("service-passenger-user")
|
||||||
|
public interface ServicePassengerUserClient {
|
||||||
|
@RequestMapping(method = RequestMethod.POST,value = "/user")
|
||||||
|
public ResponseResult loginOrRegister(@RequestBody VerificationCodeDTO verificationCodeDTO);
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package com.mashibing.apipassenger.remote;
|
||||||
|
|
||||||
|
import com.mashibing.internal.common.dto.ResponseResult;
|
||||||
|
import com.mashibing.internal.common.response.NumberCodeResponse;
|
||||||
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
|
||||||
|
@FeignClient("service-verificationcode")
|
||||||
|
public interface ServiceVerificationCodeClient {
|
||||||
|
|
||||||
|
@RequestMapping(method = RequestMethod.GET,value = "/numberCode/{size}")
|
||||||
|
ResponseResult<NumberCodeResponse> getNumberCode(@PathVariable("size") int size);
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
server:
|
||||||
|
port: 8081
|
||||||
|
|
||||||
|
spring:
|
||||||
|
cloud:
|
||||||
|
nacos:
|
||||||
|
discovery:
|
||||||
|
access-key: 127.0.0.1:8848
|
||||||
|
|
||||||
|
application:
|
||||||
|
name: api-passenger
|
||||||
|
|
||||||
|
|
||||||
|
redis:
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 6379
|
||||||
|
database: 0
|
@ -0,0 +1,102 @@
|
|||||||
|
package test;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
public class Test01 {
|
||||||
|
|
||||||
|
static void print(int[] arr){
|
||||||
|
for(int i =0;i<arr.length;i++){
|
||||||
|
System.out.print(arr[i] + " ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void swap(int[] arr,int i,int j){
|
||||||
|
int temp = arr[i];
|
||||||
|
arr[i] = arr[j];
|
||||||
|
arr[j] = temp;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int partition(int[] arr,int leftBound,int rightBound){
|
||||||
|
int pivot = arr[rightBound];
|
||||||
|
int left = leftBound;
|
||||||
|
int right = rightBound -1;
|
||||||
|
while(left <= right){
|
||||||
|
while(left<=right && arr[left] <= pivot){
|
||||||
|
left++;
|
||||||
|
}
|
||||||
|
while( left<=right && arr[right]> pivot){
|
||||||
|
right--;
|
||||||
|
}
|
||||||
|
if(left<right){
|
||||||
|
swap(arr,left,right);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
swap(arr,left,rightBound);
|
||||||
|
return left;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void sort(int[] arr,int leftBound,int rightBound){
|
||||||
|
if(leftBound>= rightBound){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int mid= partition(arr,leftBound,rightBound);
|
||||||
|
sort(arr,leftBound,mid -1);
|
||||||
|
sort(arr,mid+1,rightBound);
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void test01(){
|
||||||
|
/**
|
||||||
|
* 1.通读程序
|
||||||
|
* 2.输出中间值
|
||||||
|
* 3.剪功能
|
||||||
|
*/
|
||||||
|
int[] arr = {7,3,2,8,1,9,5,4,6,10};
|
||||||
|
sort(arr,0,arr.length -1);
|
||||||
|
print(arr);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test02(){
|
||||||
|
int[] arr = {2,4,2,3,7,1,1,0,0,5,6,9,8,5,7,4,0,9};
|
||||||
|
int[] result = sort(arr);
|
||||||
|
System.out.println(Arrays.toString(result));
|
||||||
|
}
|
||||||
|
|
||||||
|
static int[] sort(int[] arr){
|
||||||
|
int[] result = new int[arr.length];
|
||||||
|
int[] count = new int[10];
|
||||||
|
for(int i=0;i<arr.length;i++){
|
||||||
|
count[arr[i]]++;
|
||||||
|
}
|
||||||
|
System.out.println(Arrays.toString(count));
|
||||||
|
// for(int i =0,j=0;i<count.length;i++){
|
||||||
|
// while(count[i]-->0){
|
||||||
|
// result[j++]=i;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
|
||||||
|
for(int i=1;i<count.length;i++){
|
||||||
|
count[i] = count[i]+count[i-1];
|
||||||
|
}
|
||||||
|
for(int i =arr.length-1;i>=0;i--){
|
||||||
|
result[--count[arr[i]]]=arr[i];
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test03(){
|
||||||
|
StringBuilder result = new StringBuilder();
|
||||||
|
result.append('a');
|
||||||
|
result.append('b');
|
||||||
|
System.out.println(result.toString());
|
||||||
|
if(result.length()>0){
|
||||||
|
result.deleteCharAt(result.length()-1);
|
||||||
|
}
|
||||||
|
System.out.println(result.toString());
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
@ -0,0 +1,17 @@
|
|||||||
|
server:
|
||||||
|
port: 8081
|
||||||
|
|
||||||
|
spring:
|
||||||
|
cloud:
|
||||||
|
nacos:
|
||||||
|
discovery:
|
||||||
|
access-key: 127.0.0.1:8848
|
||||||
|
|
||||||
|
application:
|
||||||
|
name: api-passenger
|
||||||
|
|
||||||
|
|
||||||
|
redis:
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 6379
|
||||||
|
database: 0
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue