برنامه نویسی

[Algorithm] 1431 بچه ها با بیشترین تعداد آب نبات

شرح

وجود دارد n بچه ها با آب نبات. به شما یک آرایه عدد صحیح داده می شود candies، جایی که هر کدام candies[i] تعداد آب نبات ها را نشان می دهد ith بچه دارد ، و یک عدد صحیح extraCandies، با توجه به تعداد آب نبات های اضافی که دارید.

یک آرایه بولی را برگردانید result طول n، کجا result[i] است ، true اگر ، پس از دادن ith بچه همه extraCandies، آنها بیشترین تعداد آب نبات را در بین همه بچه ها خواهند داشت ، یا false در غیر این صورت

توجه داشته باشید که چندین کودک می توانند بیشترین تعداد آب نبات را داشته باشند.

⭐ نیاز کلیدی

  • هر کودک می تواند همه را دریافت کند extraCandies به یکباره ، به این معنی که هر کودک را به صورت جداگانه بررسی می کنیم.

  • با حداکثر تعداد آب نبات ها مقایسه کنید تا ببینید آیا کودک پس از دریافت می تواند بیشترین میزان را داشته باشد extraCandiesبشر

  • یک آرایه بولی را برگردانید ، کجا true یعنی کودک بیشترین تعداد آب نبات را دارد ، و false یعنی آنها این کار را نمی کنند.

مثال 1:

Input: candies = [2,3,5,1,3], extraCandies = 3
Output: [true,true,true,false,true] 
Explanation: If you give all extraCandies to:
- Kid 1, they will have 2 + 3 = 5 candies, which is the greatest among the kids.
- Kid 2, they will have 3 + 3 = 6 candies, which is the greatest among the kids.
- Kid 3, they will have 5 + 3 = 8 candies, which is the greatest among the kids.
- Kid 4, they will have 1 + 3 = 4 candies, which is not the greatest among the kids.
- Kid 5, they will have 3 + 3 = 6 candies, which is the greatest among the kids.

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مثال 2:

Input: candies = [4,2,1,1,2], extraCandies = 1
Output: [true,false,false,false,false] 
Explanation: There is only 1 extra candy.
Kid 1 will always have the greatest number of candies, even if a different kid is given the extra candy.
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مثال 3:

Input: candies = [12,1,12], extraCandies = 10
Output: [true,false,true]
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

محدودیت ها:

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

redsission

/**
 * @param {number[]} candies
 * @param {number} extraCandies
 * @return {boolean[]}
 */
var kidsWithCandies = function(candies, extraCandies) {
    const max = Math.max(...candies)
    let result = []

    for(let i=0; i<candies.length; i++){
        if(candies[i]+extraCandies >= max){
            result.push(true)
        } else {
            result.push(false)
        }
    }
    return result
};
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. یک آرایه خالی برای ذخیره نتایج ایجاد کنید.
  2. حداکثر تعداد را در candies آرایه برای استفاده به عنوان مرجع برای مقایسه.
  3. حلقه از طریق candies آرایه کنید و بررسی کنید که آیا candies[i] + extraCandies بزرگتر از یا برابر با حداکثر مقدار است.
  4. اگر candies[i] + extraCandies بیشتر یا برابر با حداکثر است ، فشار true به آرایه نتیجه ؛ در غیر این صورت ، فشار دهید falseبشر
  5. آرایه نتیجه را برگردانید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا