একটি সাংখ্যিক স্ট্রিং, str, একটি সুন্দর স্ট্রিং বলা হয় যদি এটিকে দুটি বা তার বেশি ধনাত্মক পূর্ণসংখ্যার ক্রমানুসারে বিভক্ত করা যায়, যা নিম্নলিখিত শর্তগুলিকে সন্তুষ্ট করে -
-
arr[i] - arr[i - 1] =1, অনুক্রমের সূচীতে যেকোনো i-এর জন্য, অর্থাৎ, অনুক্রমের প্রতিটি উপাদান পূর্ববর্তী উপাদানের চেয়ে বেশি।
-
অনুক্রমের কোনো উপাদানে অগ্রণী শূন্য থাকা উচিত নয়। উদাহরণস্বরূপ, আমরা '50607' কে ক্রম [5, 06, 07]-এ বিভক্ত করতে পারি, কিন্তু এটি সুন্দর নয় কারণ 06 এবং 07-এ অগ্রণী শূন্য রয়েছে।
-
অনুক্রমের বিষয়বস্তু পুনর্বিন্যাস করা যাবে না।
যেমন −
যদি ইনপুট স্ট্রিং −
হয়const str = '91011';
তারপর আউটপুট −
হওয়া উচিতconst output = true;
কারণ কাঙ্খিত ক্রম হল [9, 10, 11];
উদাহরণ
এর জন্য কোড হবে −
const str = '91011'; const isBeautiful = (str) => { let i = 1; let count=0; const { length } = str; while(i <= length / 2){ let check = true; let j = i; let left = BigInt(str.substring(0,j)); let nextRange = (left + 1n).toString().length; while(j + nextRange <= length){ let right=BigInt(str.substring(j,j+nextRange)); if(left === right-1n){ left=right; j+=nextRange; nextRange=(left+1n).toString().length; count=j; }else{ check=false; break; } }; if(check === true && count === length){ return true; } i++; }; return false; }; console.log(isBeautiful(str));
আউটপুট
এবং কনসোলে আউটপুট হবে −
true