export default function two_crystal_balls(breaks: boolean[]): number {
function getSqrtVal(arr: boolean[]) {
return Math.floor(Math.sqrt(arr.length))
};
let sqrtN = getSqrtVal(breaks); //this is the jump amount but i named the var sqrtN regardless
let brokeIndex = null;
for (let i = 0; i < breaks.length; i += sqrtN) {
const currentValue = breaks[i];
if (currentValue == true) {
brokeIndex = i;
break;
}
};
if (brokeIndex == null) {
return -1;
} else {
// sqrtN = getSqrtVal(breaks);
const safeFloor = brokeIndex - sqrtN;
for (let i = 0; i < sqrtN; i++) {
const currentValue = breaks[safeFloor + i];
if (currentValue == true) {
return (safeFloor + i);
}
};
}
return -1;
export default function two_crystal_balls(breaks: boolean[]): number {
function getSqrtVal(arr: boolean[]) {
return Math.floor(Math.sqrt(arr.length))
};
let sqrtN = getSqrtVal(breaks); //this is the jump amount but i named the var sqrtN regardless
let brokeIndex = null;
for (let i = 0; i < breaks.length; i += sqrtN) {
const currentValue = breaks[i];
if (currentValue == true) {
brokeIndex = i;
break;
}
};
if (brokeIndex == null) {
return -1;
} else {
// sqrtN = getSqrtVal(breaks);
const safeFloor = brokeIndex - sqrtN;
for (let i = 0; i < sqrtN; i++) {
const currentValue = breaks[safeFloor + i];
if (currentValue == true) {
return (safeFloor + i);
}
};
}
return -1;