# leetcode algorithm edgecase issue

Stack Overflow Asked by stephen1993 on November 7, 2020

I am doing the following problem:

Given the array candies and the integer extraCandies, where candies[i]
represents the number of candies that the ith kid has.

For each kid check if there is a way to distribute extraCandies among
the kids such that he or she can have the greatest number of candies
among them. Notice that multiple kids can have the greatest number of
candies.

Example 1:

Input: candies = [2,3,5,1,3], extraCandies = 3 Output:
[true,true,true,false,true] Explanation: Kid 1 has 2 candies and if
he or she receives all extra candies (3) will have 5 candies — the
greatest number of candies among the kids. Kid 2 has 3 candies and if
he or she receives at least 2 extra candies will have the greatest
number of candies among the kids. Kid 3 has 5 candies and this is
already the greatest number of candies among the kids. Kid 4 has 1
candy and even if he or she receives all extra candies will only have
4 candies. Kid 5 has 3 candies and if he or she receives at least 2
extra candies will have the greatest number of candies among the kids.
Example 2:

Input: candies = [4,2,1,1,2], extraCandies = 1 Output:
[true,false,false,false,false] Explanation: There is only 1 extra
candy, therefore only kid 1 will have the greatest number of candies
among the kids regardless of who takes the extra candy. Example 3:

Input: candies = [12,1,12], extraCandies = 10 Output:
[true,false,true]

Constraints:

2 <= candies.length <= 100 1 <= candies[i] <= 100 1 <= extraCandies <=
50

here is my code and below my code is the error I am getting but it seems right?

const kidsWithCandies = (candies, extraCandies) => {
let candiesTwo = [...candies]
candiesTwo = candiesTwo.sort()

let arr = []
let highestNum = candiesTwo[candiesTwo.length -1]

for(let i = 0; i < candies.length; i++) {
if(candies[i] + extraCandies >= highestNum) {
arr.push(true)
}  else {
arr.push(false)
}
}
return arr
}


I am getting

71 / 103 test cases passed.
Submitted: 3 minutes ago
Input:
[1,10,10,3]
1
Output:
[false,true,true,true]
Expected:
[false,true,true,false]


Use a compare function to sort numbers or they will be in alpha order. By default, the sort() method sorts the values as strings in alphabetical and ascending order.

Simple example

const candies = [4, 11, 22, 2, 1];

console.log('No compare function:', JSON.stringify([...candies].sort()))

candies.sort((a, b) => a - b);
console.log('With compare function:', JSON.stringify(candies))

Correct answer by charlietfl on November 7, 2020

If we'd use sort, the time complexity would be an order of N Log N. Here is an O(N) solution:

const kidsWithCandies = (candies, extraCandies) => {
let maxCandies = 0;
const greatest = [];

for (const candy of candies) {
(candy > maxCandies) && (maxCandies = candy);
}

for (let index = 0; index < candies.length; ++index) {
greatest.push(candies[index] + extraCandies >= maxCandies);
}
return greatest;
};


Answered by Emma on November 7, 2020

By default sort method sorts items alphabetically. You should update from

candiesTwo = candiesTwo.sort()


to

candiesTwo.sort((a, b) => a-b);


for numerical sort.

Answered by SoftDev on November 7, 2020

## Related Questions

### Mutator in tabulator not working on same edited functions

1  Asked on February 18, 2021

### Recording using sox in c/c++

1  Asked on February 18, 2021

### is it a good idea to use // ignore: missing_return in an future fuction where we are using conditioning to return answer?

2  Asked on February 18, 2021 by princeoo7

### Firestore: Flutter pugin, error when trying to sort the data by a field

1  Asked on February 18, 2021 by thurahtetaung

### nodejs writing to JSON into a specific path

6  Asked on February 18, 2021 by c4llm3p3t3r

### Unusual growth tempdb

0  Asked on February 18, 2021 by pablo-sanchez

### What’s faster than a mirror driver in Remote Control Software?

1  Asked on February 18, 2021 by rudi

### Redirect to a wrong url when a model of singular resource gets updated

1  Asked on February 17, 2021 by shin-yamagami

### When should I override the configure(AuthenticationManagerBuilder auth) from Spring Security in a Spring Boot app?

6  Asked on February 17, 2021

### Know how function with external methods was called without editing it in Python

1  Asked on February 17, 2021 by thlik

### Avoid multiple events on a dropdown: ReactJS

2  Asked on February 17, 2021 by li97

### Delphi Parse JSON

1  Asked on February 17, 2021 by chris-johnson

### How to create a filter using bootstrap and jQuery

2  Asked on February 17, 2021 by jefin-winston

### Change Canvas sizes with zoom

0  Asked on February 17, 2021 by reit-abdullah-yavuzkol

### Is there a way to make the Loop Code make it faster?

4  Asked on February 17, 2021 by levesque-xylia

### Pass data on Back navigation in Ionic5 and Angular Router

0  Asked on February 17, 2021

### Using libcurl in g++

0  Asked on February 16, 2021 by marcel-kopera

### Why do my numpy constructs ignore tuple deconstruction?

1  Asked on February 16, 2021 by trisimix