সমস্যা
৷আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা ইংরেজি ছোট হাতের বর্ণমালার একটি স্ট্রিং, str, প্রথম আর্গুমেন্ট হিসেবে এবং একটি একক অক্ষর, char, যা দ্বিতীয় আর্গুমেন্ট হিসেবে স্ট্রিং স্ট্র-এ বিদ্যমান।
আমাদের ফাংশন একটি অ্যারে প্রস্তুত এবং ফেরত দিতে হবে যা, স্ট্রিং স্ট্র-এর প্রতিটি অক্ষরের জন্য, char দ্বারা নির্দিষ্ট করা স্ট্রিংয়ের নিকটতম অক্ষর থেকে তার দূরত্ব ধারণ করে৷
উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয়
ইনপুট
const str = 'somestring'; const char = 's';
আউটপুট
const output = [0, 1, 2, 1, 0, 1, 2, 3, 4, 5]
উদাহরণ
নিম্নলিখিত কোড -
const str = 'somestring';
const char = 's';
const shortestDistance = (str = '', char = '') => {
const res = new Array(str.length).fill(Infinity)
let prev = Infinity
const handleIndex = (i) => {
if (str[i] === char) {
prev = i
}
res[i] = Math.min(res[i], Math.abs(i - prev), )
}
for (let i = 0; i < str.length; i++) {
handleIndex(i)
}
prev = Infinity
for (let i = str.length - 1; i >= 0; i--) {
handleIndex(i)
}
return res
}
console.log(shortestDistance(str, char)); আউটপুট
[ 0, 1, 2, 1, 0, 1, 2, 3, 4, 5 ]