সমস্যা
৷আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা ইংরেজি ছোট হাতের বর্ণমালার একটি স্ট্রিং, 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 ]