數(shù)組相關(guān)問題
1、如何把數(shù)組中的元素逆序?
/*
思路:逆序就是把數(shù)組的元素前后倒置。
我們可以把前后兩個數(shù) i 和 arr.length-1-i 位置上的數(shù)進?交換,
但是?定注意交換次數(shù)是?度的?半。
*/
function reverseArray1(arr) {
for (var i = 0; i < arr.length / 2; i++) {
var temp = arr[i];
arr[i] = arr[arr.length - 1 - i];
arr[arr.length - 1 - i] = temp;
}
}
function reverseArray2(arr) {
for (var begin = 0, end = arr.length - 1; begin <= end; begin++, end--) {
var temp = arr[begin];
arr[begin] = arr[end];
arr[end] = temp;
}
}
2、用遞歸實現(xiàn)字符串的逆序?
package com.m.sort;
import java.util.Arrays;
import java.util.Random;
import java.util.Stack;
public class Test2 {
public static void main(String[] args) {
System.out.println(test2("hello"));
}
//0
public static String test(String str) {
if(str == null || str.length() == 1){
return str;
}
return test(str.substring(1))+str.charAt(0);
}
//1
public static String test1(String str) {
Stack<String> stack = new Stack<>();
StringBuilder stringBuilder = new StringBuilder();
stack.push(str);
while(!stack.isEmpty()){
str = stack.pop();
if(str == null || str.length() == 1){
stringBuilder.append(str);
}else{
stringBuilder.append(str.charAt(str.length()-1));
stack.push(str.substring(0,str.length()-1));
}
}
return stringBuilder.toString();
}
//2
public static String test2(String str){
char[] chars = str.toCharArray();
//"hello"
for (int start = 0,end = str.length()-1; start <=end ; start++,end--) {
char temp = chars[start];
chars[start] = chars[end];
chars[end] = temp;
}
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < chars.length; i++) {
stringBuilder.append(chars[i]);
}
return stringBuilder.toString();
}
}
3、實現(xiàn)雙色球彩票隨機出號,六個紅球,?個籃球,并順序輸出
package com.m.sort;
import java.util.Arrays;
import java.util.Random;
public class Test2 {
//雙色球
public static void main(String[] args) {
test();
}
public static void test() {
int [] arr = new int[6];
Random random = new Random();
boolean flag;
int n;
for (int i = 0; i < arr.length;) {
n = random.nextInt(33);
flag = false;
//順序查找
for (int j = 0; j <= i; j++) {
if(n == arr[j]){
flag = true;
break;
}
}
if(flag == false){
arr[i] = n;
i++;
}
}
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}