Java 识别失败的测试用例
我参加过编码竞赛,在竞赛中我尝试了给定的问题,所以我应该想出解决方案,不仅要通过所有的测试用例,而且在时间和空间复杂度方面也进行了很好的优化,我通过了7个测试用例中的3个,但我仍然无法识别其余的测试用例,我可能遗漏了什么,请帮我纠正下面的问题陈述 问题陈述: Powerpuff女孩(100马克) 乌托尼姆教授因为世界上犯罪率的增加而坐立不安。恶棍的数量和他们的活动在很大程度上增加了。目前的三个Powerpuff女孩无法很好地与全世界的邪恶作斗争。教授决定用他所拥有的原料创造出最多数量的泡芙女孩 有N种成分需要在一定的数量,以创造一个粉扑女孩。教授在他的实验室里有所有的N种成分,并且知道每种可用成分的数量。他还知道制作一个泡芙女孩所需的特定成分的数量。教授正忙于准备工作,想尽快开始 另一方面,这些恶棍们想要摧毁实验室,阻止乌托尼厄姆教授创造更多的女强人。莫乔·乔乔准备好了弹药,他正在带领其他恶棍,如公主、阿米巴男孩、塞杜萨、甘格林帮派等 教授的时间不多了,因为坏人很快就会到达实验室。他正在开始这一过程,但不知道将创造多少名Powerpuff女孩。他需要你的帮助来确定最大数量的Powerpuff女孩,这将与当前数量的成分创造 例如: Utonium教授需要3种成分来制作Powerpuff女孩。3种成分以给定数量存在于实验室中: 要想成为一个蓬松的女孩,乌托尼厄姆教授需要: 3单位成分A 6单位成分B 10单位成分C 可以创建的Powerpuff女孩的最大数量是3个,3个之后,教授将用完成分C。 你能确定最大的数目吗 输入格式 输入的第一行由成分的数量N组成 第二行输入由N个空格分隔的整数组成,这些整数表示创建Powerpuff Girl所需的每种成分的数量 第三行输入由N个空格分隔的整数组成,表示实验室中存在的每种成分的数量Java 识别失败的测试用例,java,Java,我参加过编码竞赛,在竞赛中我尝试了给定的问题,所以我应该想出解决方案,不仅要通过所有的测试用例,而且在时间和空间复杂度方面也进行了很好的优化,我通过了7个测试用例中的3个,但我仍然无法识别其余的测试用例,我可能遗漏了什么,请帮我纠正下面的问题陈述 问题陈述: Powerpuff女孩(100马克) 乌托尼姆教授因为世界上犯罪率的增加而坐立不安。恶棍的数量和他们的活动在很大程度上增加了。目前的三个Powerpuff女孩无法很好地与全世界的邪恶作斗争。教授决定用他所拥有的原料创造出最多数量的泡芙女孩
Constraints
1<= N <=10000000 (1e7)
0<= Quantity_of_ingredient <= LLONG_MAX
Output Format
解决方案代码
package com.mzk.poi;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class PowerPuffGirls {
private static final String SPACE = " ";
private static final Integer INITAL_IDX = 0;
private static final Integer LOWER_IDX = 1;
private static final Integer SECOND_IDX = 2;
private static final Integer MAX_LINES = 3;
private static final Integer UPPER_IDX = 1000000;
private static String[] UnitsArr = null;
private static String[] totIngrdientsArr = null;
private static int size = 0;
public static void main(String[] args) {
List<Integer> maxPowerPuffGirlsCreationList = new ArrayList<Integer>();
Scanner stdin = new Scanner(System.in);
String[] input = new String[MAX_LINES];
try {
for (int i = 0; i < input.length; i++) {
input[i] = stdin.nextLine();
if (validateIngredienInput(input[INITAL_IDX])) {
System.exit(INITAL_IDX);
}
}
} finally {
stdin.close();
}
int numOfIngredients = Integer.parseInt(input[INITAL_IDX]);
String units = input[LOWER_IDX];
UnitsArr = units.split(SPACE);
String ingredients = input[SECOND_IDX];
totIngrdientsArr = ingredients.split(SPACE);
size = UnitsArr.length;
int[] specifiedArrayOfUnits = convertToIntegerArray(UnitsArr);
int[] totIngredientInLabArray = convertToIntegerArray(totIngrdientsArr);
for (int i = 0; i < size; i++) {
totIngredientInLabArray[i] = Integer.parseInt(totIngrdientsArr[i]);
}
for (int i = 0; i < numOfIngredients; i++) {
maxPowerPuffGirlsCreationList.add(totIngredientInLabArray[i] / specifiedArrayOfUnits[i]);
}
System.out.println(Collections.min(maxPowerPuffGirlsCreationList));
}
/**
* This method validates the first input
* @param noOfIngredients
* @return boolean
*/
private static boolean validateIngredienInput(String noOfIngredients) {
int numOfIngredients = Integer.parseInt(noOfIngredients);
boolean result = false;
if (numOfIngredients <= LOWER_IDX && numOfIngredients <= UPPER_IDX) {
result = true;
return result;
}
return result;
}
/**
* This utility method convert the String array to Integer array
* @param size
* @param specifiedArrayOfUnits
* @return int[]
*/
private static int[] convertToIntegerArray(String[] arrayToBeParsed) {
int array[] = new int[size];
for (int i = INITAL_IDX; i < size; i++) {
array[i] = Integer.parseInt(arrayToBeParsed[i]);
}
return array;
}
}
package com.mzk.poi;
导入java.util.ArrayList;
导入java.util.Collections;
导入java.util.List;
导入java.util.Scanner;
公共阶层的女强人{
私有静态最终字符串空间=”;
私有静态最终整数INITAL_IDX=0;
私有静态最终整数LOWER_IDX=1;
私有静态最终整数SECOND_IDX=2;
私有静态最终整数MAX_line=3;
私有静态最终整数上限_IDX=1000000;
私有静态字符串[]UnitsArr=null;
私有静态字符串[]totIngrdientsArr=null;
私有静态int size=0;
公共静态void main(字符串[]args){
List maxPowerPuffGirlsCreationList=new ArrayList();
扫描仪标准输入=新扫描仪(System.in);
字符串[]输入=新字符串[最大行数];
试一试{
for(int i=0;i 如果您的代码存在以下几个问题:
你的if()
条件没有任何意义。你正在检查不同成分的数量是否你的代码有几个问题:
您的if()
条件没有任何意义。您正在检查约束中不同成分的数量是否为,其中提到-“0请您的问题包括您所说的“识别”的说明"失败的测试。根据您运行测试的方式,测试框架应该告诉您哪些测试失败了,哪些通过了。然后您可以轻松地指出/查看失败的测试。我在techgig的环境中运行了此代码,它运行了10个测试用例,其中我的代码只通过了3个,我希望你们能帮助我确定测试用例在约束条件中可能出现t种情况。有人提到-“0请在您的问题中说明您的意思b
package com.mzk.poi;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class PowerPuffGirls {
private static final String SPACE = " ";
private static final Integer INITAL_IDX = 0;
private static final Integer LOWER_IDX = 1;
private static final Integer SECOND_IDX = 2;
private static final Integer MAX_LINES = 3;
private static final Integer UPPER_IDX = 1000000;
private static String[] UnitsArr = null;
private static String[] totIngrdientsArr = null;
private static int size = 0;
public static void main(String[] args) {
List<Integer> maxPowerPuffGirlsCreationList = new ArrayList<Integer>();
Scanner stdin = new Scanner(System.in);
String[] input = new String[MAX_LINES];
try {
for (int i = 0; i < input.length; i++) {
input[i] = stdin.nextLine();
if (validateIngredienInput(input[INITAL_IDX])) {
System.exit(INITAL_IDX);
}
}
} finally {
stdin.close();
}
int numOfIngredients = Integer.parseInt(input[INITAL_IDX]);
String units = input[LOWER_IDX];
UnitsArr = units.split(SPACE);
String ingredients = input[SECOND_IDX];
totIngrdientsArr = ingredients.split(SPACE);
size = UnitsArr.length;
int[] specifiedArrayOfUnits = convertToIntegerArray(UnitsArr);
int[] totIngredientInLabArray = convertToIntegerArray(totIngrdientsArr);
for (int i = 0; i < size; i++) {
totIngredientInLabArray[i] = Integer.parseInt(totIngrdientsArr[i]);
}
for (int i = 0; i < numOfIngredients; i++) {
maxPowerPuffGirlsCreationList.add(totIngredientInLabArray[i] / specifiedArrayOfUnits[i]);
}
System.out.println(Collections.min(maxPowerPuffGirlsCreationList));
}
/**
* This method validates the first input
* @param noOfIngredients
* @return boolean
*/
private static boolean validateIngredienInput(String noOfIngredients) {
int numOfIngredients = Integer.parseInt(noOfIngredients);
boolean result = false;
if (numOfIngredients <= LOWER_IDX && numOfIngredients <= UPPER_IDX) {
result = true;
return result;
}
return result;
}
/**
* This utility method convert the String array to Integer array
* @param size
* @param specifiedArrayOfUnits
* @return int[]
*/
private static int[] convertToIntegerArray(String[] arrayToBeParsed) {
int array[] = new int[size];
for (int i = INITAL_IDX; i < size; i++) {
array[i] = Integer.parseInt(arrayToBeParsed[i]);
}
return array;
}
}
try {
for (int i = 0; i < input.length; i++) {
input[i] = stdin.nextLine();
if (validateIngredienInput(input[INITAL_IDX])) {
System.exit(INITAL_IDX);
}
}
} finally {
stdin.close();
}
for (int i = 0; i < input.length; i++) {
input[i] = stdin.nextLine();
}
if (!validateIngredienInput(input[INITAL_IDX])) {
System.exit(...);
}
private static boolean validateIngredienInput(String noOfIngredients)
{
int numOfIngredients = Integer.parseInt(noOfIngredients);
boolean result = false;
if (numOfIngredients <= LOWER_IDX && numOfIngredients <= UPPER_IDX) {
result = true;
return result;
}
return result;
}
private static boolean validateIngredienInput(String noOfIngredients)
{
int numOfIngredients = Integer.parseInt(noOfIngredients);
return numOfIngredients > 0;
}
UnitsArr = units.split(SPACE);
unitsArr = units.split(SPACE);
Constraints
1<= N <=10000000 (1e7)
0<= Quantity_of_ingredient <= LLONG_MAX
int[] totIngredientInLabArray = convertToIntegerArray(totIngrdientsArr);
for (int i = 0; i < size; i++) {
totIngredientInLabArray[i] = Integer.parseInt(totIngrdientsArr[i]);
}