برنامه نویسی
هر کاری را با 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
};