快手Java版答案
A了三道,最后一个看题太长,估计也不会,随便编了遍思路。
第一题:版本比较
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int nums = input.nextInt();
for (int i = 0; i < nums; i++) {
String version_1 = input.next();
String version_2 = input.next();
if(getResult(version_1, version_2)<1){
System.out.println(false);
}else{
System.out.println(true);
}
}
}
private static int getResult(String version_1, String version_2) {
//分割字符串
String[] verson_str1 = version_1.split("\\.");
String[] verson_str2 = version_2.split("\\.");
//计算最大长度
int n = Math.max(verson_str1.length, verson_str2.length);
for (int i = 0; i < n; i++) {
//如果大于长度置为0,否则将其转换为整数
int v1_tmp = i < verson_str1.length ? Integer.parseInt(verson_str1[i]) : 0;
int v2_tmp = i < verson_str2.length ? Integer.parseInt(verson_str2[i]) : 0;
//相等接着比较
if (v1_tmp == v2_tmp) continue;
//小于为-1
if(v1_tmp < v2_tmp ) return 1;
else return -1;
}
return 0;
}
}
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int nums = input.nextInt();
for (int i = 0; i < nums; i++) {
String version_1 = input.next();
String version_2 = input.next();
if(getResult(version_1, version_2)<1){
System.out.println(false);
}else{
System.out.println(true);
}
}
}
private static int getResult(String version_1, String version_2) {
//分割字符串
String[] verson_str1 = version_1.split("\\.");
String[] verson_str2 = version_2.split("\\.");
//计算最大长度
int n = Math.max(verson_str1.length, verson_str2.length);
for (int i = 0; i < n; i++) {
//如果大于长度置为0,否则将其转换为整数
int v1_tmp = i < verson_str1.length ? Integer.parseInt(verson_str1[i]) : 0;
int v2_tmp = i < verson_str2.length ? Integer.parseInt(verson_str2[i]) : 0;
//相等接着比较
if (v1_tmp == v2_tmp) continue;
//小于为-1
if(v1_tmp < v2_tmp ) return 1;
else return -1;
}
return 0;
}
}
第二题:累积和为1,好像在LeetCode上叫快乐数
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int nums = input.nextInt();
for (int i = 0; i < nums; i++) {
int test_num = input.nextInt();
getResult(test_num);
}
}
private static int getResult(int test_num) {
int i = 0;
while (i < 100) {
int result = 0;
while (test_num != 0 ) {
result += Math.pow((test_num % 10), 2);
test_num = test_num / 10;
}
if (result == 1) {
System.out.println(true);
return 1;
}
test_num = result;
i++;
}
System.out.println(false);
return 0;
}
}
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int nums = input.nextInt();
for (int i = 0; i < nums; i++) {
int test_num = input.nextInt();
getResult(test_num);
}
}
private static int getResult(int test_num) {
int i = 0;
while (i < 100) {
int result = 0;
while (test_num != 0 ) {
result += Math.pow((test_num % 10), 2);
test_num = test_num / 10;
}
if (result == 1) {
System.out.println(true);
return 1;
}
test_num = result;
i++;
}
System.out.println(false);
return 0;
}
}
第三题:插入
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (input.hasNext()){
String t1 = input.nextLine();
String t2 = input.nextLine();
getResult(t1, t2);
}
}
private static void getResult(String t1, String t2) {
String [] test_1 = t1.split(" ");
String [] test_2 = t2.split(" ");
StringBuilder sb = new StringBuilder();
int j = 0;
for (int i = 0; i < test_1.length; i++) {
if (i!=0 && i % 4 == 0 && j < test_2.length) {
sb.append(test_2[j] + " ");
j++;
}
sb.append(test_1[i] + " ");
}
while (j<test_2.length){
sb.append(test_2[j] + " ");
j++;
}
System.out.println(sb.substring(0,sb.length()-1));
}
}
#leetcode##快手##笔试题目#public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (input.hasNext()){
String t1 = input.nextLine();
String t2 = input.nextLine();
getResult(t1, t2);
}
}
private static void getResult(String t1, String t2) {
String [] test_1 = t1.split(" ");
String [] test_2 = t2.split(" ");
StringBuilder sb = new StringBuilder();
int j = 0;
for (int i = 0; i < test_1.length; i++) {
if (i!=0 && i % 4 == 0 && j < test_2.length) {
sb.append(test_2[j] + " ");
j++;
}
sb.append(test_1[i] + " ");
}
while (j<test_2.length){
sb.append(test_2[j] + " ");
j++;
}
System.out.println(sb.substring(0,sb.length()-1));
}
}