मूल रूप से आप जो भी कर सकते हैं वह सभी क्रमिकताओं के बजाय है जो आप सरणी में प्रत्येक मान के लिए शर्तों को बनाते हैं। उदाहरण के लिए यदि हमारे पास 2 है तो हम जानते हैं कि हमारे दस स्थान के लिए घंटा 2 होना चाहिए, लेकिन उस समय के लिए हमारे स्थान केवल उस बिंदु पर 3 हो सकते हैं। यदि हमारे पास 1 है तो हम जानते हैं कि घंटे के लिए हमारा एक स्थान 9 हो सकता है। हम जानते हैं कि हमारा मिनट दस स्थान 5 है और हमारा अधिकतम मिनट एक स्थान 9 है। CreateTime इन स्थितियों को दिखाता है। FindMaxSpecific रिटर्न -1 यदि यह दिए गए सरणी में मान्य संख्या नहीं पा रहा है। इस तरह हम जानते हैं कि समय अमान्य है अगर हमें कभी भी इसके साथ createTime द्वारा लौटाए गए सरणी मिलती है। उदाहरण आउटपुट देखें।
public static int[] createTime(int[] numbers)
{
int[] time = new int[4];
time[0] = findMaxSpecific(numbers, 2);
time[1] = time[0] == 2 ? findMaxSpecific(numbers, 3) : findMaxSpecific(numbers, 9);
time[2] = findMaxSpecific(numbers, 5);
time[3] = findMaxSpecific(numbers, 9);
return time;
}
public static int findMaxSpecific(int[] arr, int valToFind)
{
if(arr.length != 4)
return -1;
int numToFind = -1;
int indexToRemove = -1;
for(int i = 0; i < arr.length; i++)
{
if(arr[i] <= valToFind)
{
if(arr[i] > numToFind)
{
numToFind = arr[i];
indexToRemove = i;
}
}
}
if(indexToRemove == -1)
return -1;
arr[indexToRemove] = -1;
return numToFind;
}
यह सब के अंत में अगर है किसी भी मूल्य वापस के रूप में -1 हम जानते हैं कि हम गलत समय हम
उदाहरण
दिया गया है आता है
int[] time = new int[4];
int[] numbers = {1,2,3,4};
time = createTime(numbers);
System.out.println(time[0] + "" + time[1] + ":" + time[2] + "" + time[3]);
int[] numbers2 = {0,9,7,1};
time = new int[4];
time = createTime(numbers2);
System.out.println(time[0] + "" + time[1] + ":" + time[2] + "" + time[3]);
int[] numbers3 = {9,9,9,9};
time = new int[4];
time = createTime(numbers3);
System.out.println(time[0] + "" + time[1] + ":" + time[2] + "" + time[3]);
आउटपुट
23:41
19:07
-19:-19 //invalid numbers
है
स्रोत
2017-01-25 22:08:42
आप इनपुट 3 3 3 3' के साथ कैसे व्यवहार करते हैं? यदि आप इसे बेहतर तरीके से परिभाषित कर सकते हैं। आप नहीं हो सकता है के रूप में – nullpointer
कृपया अपने कोड, जहां आप इसे – MateuszW90
@nullpointer मुझे लगता है कि एक अमान्य इनपुट के रूप में योग्य है (जैसा कि वह पहले से ही सवाल में कहा) को हल करने की कोशिश पेस्ट घंटे 33. –