the solutions for basic algorithm scripting are hard to understand, can someone provide some sources to understand the solutions correctly.
I think we would need to know which solution you are talking about.
finding largest number and return largest numbers in arrays
edit : find the longest word in a string and return largest numbers in arrays
It would be better if you provided links to these so we are certain which ones they are. I only see one exercise in basic algorithms that is about largest numbers:
Return Largest Numbers in ArraysPassed
Is this the one you are talking about? Were you able to complete it? If you are stuck on the challenge please post your code here and we can help you.
yes the largest number in array passed and longest word in string ,
i dont know how to solve then i saw the solution in forum but i still dont understand the solution too
It would be better if you asked specific questions about what you don’t understand about this challenge. I’ll get you started. The function receives an array of four items, each item also being an array of four items (numbers in this case). Can you describe to me what you need to do with the array that is passed into the function?
first is to create a nested for loop and an if statement to check the largest number, that’s my idea and i saw the same idea in the solution, but i did not understant the commented lines in this code
function largestOfFour(arr) {
let results = [];
for (let i = 0; i < arr.length; i++) {
let largestNumber = arr[i][0];
for (let j = 1; j < arr[i].length; j++) { // why j = 1
if (arr[i][j] > largestNumber) {
largestNumber = arr[i][j];
}
}
results[i] = largestNumber; // i did not get this too
}
return results;
}
Can you explain to me what this code is doing? Specifically, what is the variable largestNumber
used for? What is the for
loop doing? If you understand these two things I think you’ll answer your question about why j
starts at 1.
largestNumber
variable stores the first for
loop value(that is i
) , and first for loop iterates through the entire array and second for
loop iterates through the nested arrays and this time the largestNumber
variable is storing the nested arrays value(that is j
)
that is what i understood , please tell me if i was correct or wrong?
It is much, much easier for us to help you to write your own code for a problem. Helping you understand another person’s solution is a very different skill than helping you write code yourself.
This is not quite correct. Let’s rewrite the code a little to make things a little easier to understand:
for (let i = 0; i < arr.length; i++) {
let subArray = arr[i];
let largestNumber = subArray[0];
for (let j = 1; j < subArray.length; j++) { // why j = 1
if (subArray[j] > largestNumber) {
largestNumber = subArray[j];
}
}
results[i] = largestNumber; // i did not get this too
}
Now it is clear that we are checking each sub array in the array passed into the function. Do you understand what largestNumber
is storing now?
so largest number is storing the nested array !
let largestNumber = subArray[0];
I’m assuming you know how to access a particular item from an array. What item does [0]
access?
i do not know what is [0]
doing , i think the j
item ( nested array)
If you don’t understand what [0]
is doing then I might suggest you revisit the basic JS course again, specifically Access Array Data with Indexes. The algorithm course is going to be very tough if you don’t have the basics down.
let largestNumber = subArray[0];
[0]
is getting the value of the first element in the sub array.
i know that, but i am not understanding the operation with nested arrays
Sorry, I guess I didn’t understand your previous post because you said you didn’t know what [0]
is doing.
Can you be more specific about what you don’t understand? The function is passed in an array (via the arr
parameter) and each element in that array is itself an array of numbers. The first for loop goes through each item in arr
. Do you understand everything up to this point?
Each item in arr
is an array as well. If we are using the first for loop to iterate through arr
what do you think we are using the second for loop for? Before we start that second for loop we save off the first value in the sub array to the variable largestNumber
. Why do you think we are doing that? (The name of the variable ought to give this away.) Inside the second for loop we are making a simple comparison and updating largestNumber
if the comparison is true. Do you understand what this comparison is doing and why we might update largestNumber
? After the second for loop is done we set results[i]
to largestNumber
. The variable i
refers to the counter on the first for loop. Do you know why we are doing this? Remember, the goal of the function is to return an array consisting of the largest number from each provided sub-array.
I’ve asked all the pertinent questions here, now it is up to you to provide the answers.
thank you now i understood by reading line by line and what the code in every line is doing .
now I’ll explain
first we create an empty array(results
) to store the final result,
then we create a first for
loop to iterate through main array , but we creating 2nd for
loop to compare for the largest number , so we initiating with the first element of the sub array
in largestNumber
.
Then we create second for loop to iterate through sub array to do comparison between numbers
in sub array
and if true the largestNumber
will be updated.
After the comparison of the first sub array , the empty array that we created at the beginning will be updated with the number in largestNumber
.
This process repeats until i=arr.length
.
And finally the array with the largest numbers will be returned.
[] // empty array
4 // [i][0]
5 // comparing
[ 5 ] // result updated
13 // [i][0]
27 // comparing
[ 5, 27 ] // result updated
32 // [i][0]
35 // comparing
37 // comparing
39 // comparing
[ 5, 27, 39 ] // result updated
1000 // [i][0]
1001 // comparing
[ 5, 27, 39, 1001 ] // result updated
This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.