Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में घूमी हुई क्रमबद्ध सरणी में सबसे छोटा तत्व ढूंढना


हमें एक JavaScript फ़ंक्शन लिखना है जो एकमात्र तर्क के रूप में पूर्णांकों की एक सरणी लेता है।

सरणी पहले क्रमबद्ध होती है और फिर तत्वों की मनमानी संख्या से घुमाई (rotated) जाती है। हमारे फ़ंक्शन को सरणी में सबसे छोटा तत्व ढूंढना चाहिए और वह तत्व वापस करना चाहिए।

एकमात्र शर्त यह है कि हमें इसे रैखिक समय जटिलता से कम में करना है, शायद बाइनरी खोज एल्गोरिदम के कुछ संशोधित संस्करण का उपयोग करके।

उदाहरण के लिए -

यदि इनपुट सरणी है -

const arr = [6, 8, 12, 25, 2, 4, 5];

तो आउटपुट 2 होना चाहिए।

उदाहरण

निम्नलिखित कोड देखें:

const arr = [6, 8, 12, 25, 2, 4, 5];

const findMin = (arr = []) => {
  let temp;
  let min = 0;
  let max = arr.length - 1;
  let currentMin = Number.POSITIVE_INFINITY;
  while (min <= max) {
    temp = (min + max) >> 1;
    currentMin = Math.min(currentMin, arr[temp]);
    if (arr[min] < arr[temp] && arr[temp] <= arr[max] || arr[min] > arr[temp]) {
      max = temp - 1;
    } else if (arr[temp] === arr[min] && arr[min] === arr[max]) {
      let guessNum = arr[temp];
      while (min <= max && arr[min] === guessNum) {
        min++;
      }
    } else {
      min = temp + 1;
    }
  }
  return currentMin;
};

console.log(findMin(arr));

आउटपुट

कंसोल आउटपुट निम्नलिखित है -

2

  1. - JavaScript में क्रमबद्ध 2-D सरणी में Nवां सबसे छोटा तत्व

    समस्या मान लीजिए, हमारे पास संख्याओं की सरणियों की एक क्रमबद्ध सरणी है (बढ़ते क्रम में क्रमबद्ध) जैसे - const arr = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15] ]; हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसी एक सरणी को पहले आर्गुमेंट के रूप में और एक पूर्णांक num को दूसरे आर्गुमेंट के रूप में

  1. - जावास्क्रिप्ट में सरणी में पहला गैर-लगातार संख्या ढूंढना

    समस्याहमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो संख्याओं की एक सरणी लेता है। हमारा फ़ंक्शन सरणी से उस पहले तत्व को लौटाएगा जो अपने पिछले तत्व का प्राकृतिक उत्तराधिकारी नहीं है। इसका मतलब है कि हमें उस तत्व को लौटाना चाहिए जो अपने पिछले तत्व से +1 नहीं है, यह देखते हुए कि सरणी में कम से कम एक ऐसा तत्

  1. - C++ में सॉर्टेड और रोटेटेड ऐरे में अधिकतम तत्व

    विवरण अलग-अलग तत्वों का एक सॉर्टेड ऐरे दिया गया है जो किसी अज्ञात बिंदु पर रोटेटेड है, कार्य इसमें अधिकतम तत्व ढूंढना है। उदाहरण यदि इनपुट ऐरे {30, 40, 50, 10, 20} है तो अधिकतम तत्व 50 है। एल्गोरिदम अधिकतम तत्व वह एकमात्र तत्व है जिसका अगला तत्व उससे छोटा है। यदि कोई अगला छोटा तत्व नहीं है, तो कोई