您的位置:首页 > 编程语言 > Java开发

Code Hunt Sector 12 Search Sort - Java

2016-06-05 00:00 141 查看
摘要: Code Hunt Sector 12 Search Sort - Java

微软编码游戏 https://www.codehunt.com

Code Hunt 12.01

[code=language-java]public class Program {
public static int Puzzle(int[] numbers, int x) {
int result = 0;
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] == x) {
result++;
}
}
return result;
}
}


Code Hunt 12.02

[code=language-java]public class Program {
public static int Puzzle(String[] words, String s) {
int result = 0;
for (int i = 0; i < words.length; i++) {
if (s.equals(words[i])) {
result++;
}
}
return result;
}
}


Code Hunt 12.03

[code=language-java]public class Program {
public static int Puzzle(int[] numbers, int x) {
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] == x) {
return i;
}
}
return -1;
}
}


Code Hunt 12.04

[code=language-java]public class Program {
public static int Puzzle(int[] numbers, int x) {
for (int i = numbers.length - 1; i >= 0; i--) {
if (numbers[i] == x) {
return i;
}
}
return -1;
}
}


Code Hunt 12.05 - 没有找到三星解法

二星解法:

[code=language-java]import java.util.Arrays;
public class Program {
public static int[] Puzzle(int[] numbers, int x) {
int[] result = new int[0];
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] == x) {
result = Arrays.copyOf(result, result.length + 1);
result[result.length - 1] = i;
}
}
return result;
}
}


Code Hunt 12.06

[code=language-java]public class Program {
public static int[] Puzzle(int[] numbers, int x, int y) {
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] == x) {
numbers[i] = y;
}
}
return numbers;
}
}


Code Hunt 12.07

[code=language-java]public class Program {

public static int[][] Puzzle(int[] numbers, int x) {
int[][] result = new int[0][];
for (int i = 0; i < numbers.length - 1; i++) {
for (int j = i + 1; j < numbers.length; j++) {
if (numbers[j] + numbers[i] == x) {
result = copyOf(result, result.length + 1);
result[result.length - 1] = new int[] { i, j };
}
}
}
return result;
}

private static int[][] copyOf(int[][] original, int newLength) {
int[][] copy = new int[newLength][];
for (int i = 0; i < original.length; i++) {
copy[i] = original[i];
}
return copy;
}
}


Code Hunt 12.08

[code=language-java]public class Program {
public static int Puzzle(int[] numbers) {
int sum = 0;
for (int num : numbers) {
sum += num;
}

int prefixSum = 0;
for (int i = 0; i < numbers.length; i++) {
prefixSum += numbers[i];
if (prefixSum * 2 == sum) {
return i;
}
}
return -1;
}
}


Code Hunt 12.09

[code=language-java]public class Program {
public static Boolean Puzzle(int[] numbers) {
return isSorted(0, numbers);
}

private static Boolean isSorted(int i, int[] numbers) {
if (i == numbers.length - 1)
return true;
return numbers[i] > numbers[i + 1] ? false : isSorted(i + 1, numbers);
}
}


Code Hunt 12.10

[code=language-java]public class Program {
public static Boolean Puzzle(String[] words) {
for (int i = 1; i < words.length; i++) {
if (words[i].compareTo(words[i - 1]) < 0)
return false;
}
return true;
}
}


Code Hunt 12.11

[code=language-java]import java.util.Arrays;

public class Program {
public static int[] Puzzle(int[] a) {
Arrays.sort(a);
return a;
}
}


Code Hunt 12.12 - 没有找到三星解法

一星解法:

[code=language-java]public class Program {
public static String[] Puzzle(String[] a) {
for (int i = 0; i < a.length - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < a.length; j++) {
if (a[j].compareTo(a[minIndex]) < 0) {
minIndex = j;
}
}
if (minIndex != i) {
String temp = a[minIndex];
a[minIndex] = a[i];
a[i] = temp;
}
}
return a;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  codehunt