برنامه نویسی

هر کاری را با Arrays انجام دهید – انجمن DEV

همانطور که من یاد می‌گیرم، این پست مرتباً به روز می‌شود

let i = 0; i < nums.length; i++

مسئله 1: حداکثر تعداد متوالی

Input: nums = [1,1,0,1,1,1]
Output: 3
Explanation: The first two digits or the last three digits are consecutive 1s. The maximum number of consecutive 1s is 3.
وارد حالت تمام صفحه شوید

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

بررسی دانش – جاوا اسکریپت

  • Math.max(result, count) => شمارنده را با حداکثر مقدار به روز نگه دارید
  • arr.length => برای حلقه کردن یک آرایه استفاده می شود

راه حل – جاوا اسکریپت

var findMaxConsecutiveOnes = function(nums) {
    let count = 0;
    let result = 0;

    for (let i = 0; i < nums.length; i++) {
        // Reset count when 0 is found
        if (nums[i] == 0)
            count = 0;

        // If 1 is found, increment
        else {
            // increase count
            count++;
            result = Math.max(result, count);
        }
    }

    return result;
};

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

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

راه حل – جاوا

Math.max(result, count) و arr.length جاوا هم هستن 🤯

class Solution {
    public int findMaxConsecutiveOnes(int[] nums) {
        int count = 0; //initialize count
        int result = 0; //initialize max

        for (int i = 0; i < nums.length; i++)
        {

            // Reset count when 0 is found
            if (nums[i] == 0)
                count = 0;

            // If 1 is found, increment count
            else
            {
                count++;//increase count
                result = Math.max(result, count);
            }
        }
        return result;
    }
}
وارد حالت تمام صفحه شوید

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

مسئله 2: اعداد با تعداد ارقام زوج را بیابید

Input: nums = [12,345,2,6,7896]
Output: 2
Explanation: 
12 contains 2 digits (even number of digits). 
345 contains 3 digits (odd number of digits). 
2 contains 1 digit (odd number of digits). 
6 contains 1 digit (odd number of digits). 
7896 contains 4 digits (even number of digits). 
Therefore only 12 and 7896 contain an even number of digits.
وارد حالت تمام صفحه شوید

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

بررسی دانش – جاوا اسکریپت

  • Math.floor(n / 10) – می توان برای شمارش ارقام استفاده کرد تا زمانی که 0 شود
  • Math.floor(numberOfDigits % 2) == 0 – بررسی برای حتی

راه حل – جاوا اسکریپت

var findNumbers = function(nums) {
    let result = 0
    // loop through numbers
     for (let i = 0; i < nums.length; i++){
         // find number of digits
         const num = nums[i]
         const numberOfDigits = countDigit(num)
         const isEven = Math.floor(numberOfDigits % 2) == 0

         // if even increse counter
         isEven && result ++
     }
    return result
};

function countDigit(n){
    let count = 0;
    while (n != 0) {
        n = Math.floor(n / 10);
        count ++;
    }
    return count;
}
وارد حالت تمام صفحه شوید

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

  • arr.sort((a, b)=>{return a - b}) می تواند برای مرتب سازی عددی استفاده شود (به طور پیش فرض، تابع sort() مقادیر را به عنوان رشته مرتب می کند.)

مربع های یک آرایه مرتب شده

Input: nums = [-4,-1,0,3,10]
Output: [0,1,9,16,100]
Explanation: After squaring, the array becomes [16,1,0,9,100].
After sorting, it becomes [0,1,9,16,100].
وارد حالت تمام صفحه شوید

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

var sortedSquares = function(nums) {
    let squaredArray = []
    for (let i =0 ; i < nums.length; i++){
        const num = nums[i]
        const square = num * num
        squaredArray.push(square)
    }
    const result = squaredArray.sort((a, b)=>{return a - b})
    return result
};

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

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


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

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

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

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

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

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