HackerRank Mininum Difference RunTimeError
My code throws a run-time error, can anyone explain why? My solution envolves adding to an array the differences between j
and i
, and then find the minimum of the two, only to return it. But for some reason it gives me a timeout error. The question is question is this:
We define the distance between two array values as the number of indices between the two values. Given
A
find the minimum distance between any pair of equal elements in the array. If no such value exists, print-1
The minimum difference is calculated by the difference between indexj
and indexi
static int minimumDistances(int a) {
int difference = new int[a.length];
int lowest = 0;
boolean pairFound = false;
for(int i = 0; i < a.length; i++) {
for(int j = i + 1; j < a.length; j++) {
for(int l = 0; l < difference.length; l++) {
if(a[i] == a[j]) {
difference[l] = j - i;
pairFound = true;
} else if(pairFound == false) {
lowest = -1;
}
}
}
}
if(pairFound == true) {
lowest = difference[0];
for(int i = 0; i < difference.length; i++) {
if(difference[i] < lowest) {
lowest = difference[i];
}
}
}
return lowest;
}
java
add a comment |
My code throws a run-time error, can anyone explain why? My solution envolves adding to an array the differences between j
and i
, and then find the minimum of the two, only to return it. But for some reason it gives me a timeout error. The question is question is this:
We define the distance between two array values as the number of indices between the two values. Given
A
find the minimum distance between any pair of equal elements in the array. If no such value exists, print-1
The minimum difference is calculated by the difference between indexj
and indexi
static int minimumDistances(int a) {
int difference = new int[a.length];
int lowest = 0;
boolean pairFound = false;
for(int i = 0; i < a.length; i++) {
for(int j = i + 1; j < a.length; j++) {
for(int l = 0; l < difference.length; l++) {
if(a[i] == a[j]) {
difference[l] = j - i;
pairFound = true;
} else if(pairFound == false) {
lowest = -1;
}
}
}
}
if(pairFound == true) {
lowest = difference[0];
for(int i = 0; i < difference.length; i++) {
if(difference[i] < lowest) {
lowest = difference[i];
}
}
}
return lowest;
}
java
You should really describe your solution, give example inputs and outputs, and paste output of the error you are receiving.
– flakes
Nov 23 '18 at 21:24
1
And what kind of "runtime error" does it throw? IIRC, HackerRank runs tests against your code and those may fail when your solution takes too long. Are you sure you don't just need to optimize?
– daniu
Nov 23 '18 at 21:24
Why not check the "discussion" section on that question? An O(N^2) solution is surely unacceptable. Hint: lookup "two-pointer technique". Also, learn to use a debugger. You won't get far without one.
– rustyx
Nov 23 '18 at 21:45
add a comment |
My code throws a run-time error, can anyone explain why? My solution envolves adding to an array the differences between j
and i
, and then find the minimum of the two, only to return it. But for some reason it gives me a timeout error. The question is question is this:
We define the distance between two array values as the number of indices between the two values. Given
A
find the minimum distance between any pair of equal elements in the array. If no such value exists, print-1
The minimum difference is calculated by the difference between indexj
and indexi
static int minimumDistances(int a) {
int difference = new int[a.length];
int lowest = 0;
boolean pairFound = false;
for(int i = 0; i < a.length; i++) {
for(int j = i + 1; j < a.length; j++) {
for(int l = 0; l < difference.length; l++) {
if(a[i] == a[j]) {
difference[l] = j - i;
pairFound = true;
} else if(pairFound == false) {
lowest = -1;
}
}
}
}
if(pairFound == true) {
lowest = difference[0];
for(int i = 0; i < difference.length; i++) {
if(difference[i] < lowest) {
lowest = difference[i];
}
}
}
return lowest;
}
java
My code throws a run-time error, can anyone explain why? My solution envolves adding to an array the differences between j
and i
, and then find the minimum of the two, only to return it. But for some reason it gives me a timeout error. The question is question is this:
We define the distance between two array values as the number of indices between the two values. Given
A
find the minimum distance between any pair of equal elements in the array. If no such value exists, print-1
The minimum difference is calculated by the difference between indexj
and indexi
static int minimumDistances(int a) {
int difference = new int[a.length];
int lowest = 0;
boolean pairFound = false;
for(int i = 0; i < a.length; i++) {
for(int j = i + 1; j < a.length; j++) {
for(int l = 0; l < difference.length; l++) {
if(a[i] == a[j]) {
difference[l] = j - i;
pairFound = true;
} else if(pairFound == false) {
lowest = -1;
}
}
}
}
if(pairFound == true) {
lowest = difference[0];
for(int i = 0; i < difference.length; i++) {
if(difference[i] < lowest) {
lowest = difference[i];
}
}
}
return lowest;
}
java
java
edited Nov 24 '18 at 2:12
Lol Lol
asked Nov 23 '18 at 21:20
Lol LolLol Lol
787
787
You should really describe your solution, give example inputs and outputs, and paste output of the error you are receiving.
– flakes
Nov 23 '18 at 21:24
1
And what kind of "runtime error" does it throw? IIRC, HackerRank runs tests against your code and those may fail when your solution takes too long. Are you sure you don't just need to optimize?
– daniu
Nov 23 '18 at 21:24
Why not check the "discussion" section on that question? An O(N^2) solution is surely unacceptable. Hint: lookup "two-pointer technique". Also, learn to use a debugger. You won't get far without one.
– rustyx
Nov 23 '18 at 21:45
add a comment |
You should really describe your solution, give example inputs and outputs, and paste output of the error you are receiving.
– flakes
Nov 23 '18 at 21:24
1
And what kind of "runtime error" does it throw? IIRC, HackerRank runs tests against your code and those may fail when your solution takes too long. Are you sure you don't just need to optimize?
– daniu
Nov 23 '18 at 21:24
Why not check the "discussion" section on that question? An O(N^2) solution is surely unacceptable. Hint: lookup "two-pointer technique". Also, learn to use a debugger. You won't get far without one.
– rustyx
Nov 23 '18 at 21:45
You should really describe your solution, give example inputs and outputs, and paste output of the error you are receiving.
– flakes
Nov 23 '18 at 21:24
You should really describe your solution, give example inputs and outputs, and paste output of the error you are receiving.
– flakes
Nov 23 '18 at 21:24
1
1
And what kind of "runtime error" does it throw? IIRC, HackerRank runs tests against your code and those may fail when your solution takes too long. Are you sure you don't just need to optimize?
– daniu
Nov 23 '18 at 21:24
And what kind of "runtime error" does it throw? IIRC, HackerRank runs tests against your code and those may fail when your solution takes too long. Are you sure you don't just need to optimize?
– daniu
Nov 23 '18 at 21:24
Why not check the "discussion" section on that question? An O(N^2) solution is surely unacceptable. Hint: lookup "two-pointer technique". Also, learn to use a debugger. You won't get far without one.
– rustyx
Nov 23 '18 at 21:45
Why not check the "discussion" section on that question? An O(N^2) solution is surely unacceptable. Hint: lookup "two-pointer technique". Also, learn to use a debugger. You won't get far without one.
– rustyx
Nov 23 '18 at 21:45
add a comment |
1 Answer
1
active
oldest
votes
Give this a try and check to see if this works:
int difference = new int[a.length];
That makes me fail test case 1. For some reason pairFound becomes true
– Lol Lol
Nov 24 '18 at 2:08
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53453051%2fhackerrank-mininum-difference-runtimeerror%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Give this a try and check to see if this works:
int difference = new int[a.length];
That makes me fail test case 1. For some reason pairFound becomes true
– Lol Lol
Nov 24 '18 at 2:08
add a comment |
Give this a try and check to see if this works:
int difference = new int[a.length];
That makes me fail test case 1. For some reason pairFound becomes true
– Lol Lol
Nov 24 '18 at 2:08
add a comment |
Give this a try and check to see if this works:
int difference = new int[a.length];
Give this a try and check to see if this works:
int difference = new int[a.length];
edited Nov 24 '18 at 8:18
SiddAjmera
13.1k31137
13.1k31137
answered Nov 23 '18 at 21:39
SelindekSelindek
998714
998714
That makes me fail test case 1. For some reason pairFound becomes true
– Lol Lol
Nov 24 '18 at 2:08
add a comment |
That makes me fail test case 1. For some reason pairFound becomes true
– Lol Lol
Nov 24 '18 at 2:08
That makes me fail test case 1. For some reason pairFound becomes true
– Lol Lol
Nov 24 '18 at 2:08
That makes me fail test case 1. For some reason pairFound becomes true
– Lol Lol
Nov 24 '18 at 2:08
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53453051%2fhackerrank-mininum-difference-runtimeerror%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
You should really describe your solution, give example inputs and outputs, and paste output of the error you are receiving.
– flakes
Nov 23 '18 at 21:24
1
And what kind of "runtime error" does it throw? IIRC, HackerRank runs tests against your code and those may fail when your solution takes too long. Are you sure you don't just need to optimize?
– daniu
Nov 23 '18 at 21:24
Why not check the "discussion" section on that question? An O(N^2) solution is surely unacceptable. Hint: lookup "two-pointer technique". Also, learn to use a debugger. You won't get far without one.
– rustyx
Nov 23 '18 at 21:45