हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पहले तर्क के रूप में संख्याओं की एक क्रमबद्ध सरणी और दूसरे तर्क के रूप में एक संख्या लेता है।
फ़ंक्शन को तत्वों की छँटाई को विकृत किए बिना दूसरे तर्क के रूप में निर्दिष्ट संख्या को सरणी में धकेलना चाहिए।
हमें एक और सरणी बनाए बिना ऐसा करने की आवश्यकता है।
उदाहरण
const arr = [6, 7, 8, 9, 12, 14, 16, 17, 19, 20, 22]; const num = 15; const findIndex = (arr, val) => { let low = 0, high = arr.length; while (low < high) { let mid = (low + high) >>> 1; if (arr[mid] < val) { low = mid + 1; }else { high = mid } }; return low; }; const insertAt = (arr = [], num) => { const position = findIndex(arr, num); for(let i = position; typeof arr[i] !== 'undefined'; i++){ // swapping without using third variable num += arr[i]; arr[i] = num - arr[i]; num -= arr[i]; }; arr.push(num); }; insertAt(arr, num); console.log(arr);
आउटपुट
यह निम्नलिखित आउटपुट देगा -
[ 6, 7, 8, 9, 12, 14, 15, 16, 17, 19, 20, 22 ]