एक पूर्णांक सरणी संख्याओं को देखते हुए, यदि सूचकांक (i, j, k) का त्रिगुण मौजूद है जैसे कि i
क्या आप कोई ऐसा समाधान लागू कर सकते हैं जो O(n) समय जटिलता और O(1) अंतरिक्ष जटिलता में चलता हो?
इस समस्या को कुशलता से हल करने के लिए, हमें अब तक सामने आए सबसे छोटे और दूसरे सबसे छोटे मूल्यों पर नज़र रखने की ज़रूरत है। यदि हमें तीसरा मान मिलता है जो दूसरे सबसे छोटे से अधिक है, तो हमें एक बढ़ती हुई त्रिक मिलती है।
ब्रूट फोर्स समाधान में यह देखने के लिए सभी संभावित त्रिगुणों की जांच करना शामिल है कि क्या कोई मौजूद है जो i
function increasingTripletBruteForce(nums: number[]): boolean { const n = nums.length; for (let i = 0; iसमय जटिलता विश्लेषण:
क्रूर बल समाधान कुशल नहीं है और बड़े इनपुट आकारों के लिए उपयुक्त नहीं है।
अनुकूलित समाधान में दो चर, पहले और दूसरे को बनाए रखते हुए सरणी के माध्यम से पुनरावृत्ति शामिल है, जो अब तक सामने आए सबसे छोटे और दूसरे सबसे छोटे मूल्यों का प्रतिनिधित्व करते हैं। यदि हमें सेकंड से अधिक मान मिलता है, तो हम सत्य लौटाते हैं।
function increasingTriplet(nums: number[]): boolean { let first = Infinity; let second = Infinity; for (let num of nums) { if (numसमय जटिलता विश्लेषण:
console.log(increasingTripletBruteForce([1,2,3,4,5])); // true console.log(increasingTripletBruteForce([5,4,3,2,1])); // false console.log(increasingTripletBruteForce([2,1,5,0,4,6])); // true console.log(increasingTripletBruteForce([1,1,1,1,1])); // false console.log(increasingTripletBruteForce([1,2])); // false console.log(increasingTripletBruteForce([1,2,3])); // true console.log(increasingTripletBruteForce([1,5,0,4,1,3])); // true console.log(increasingTriplet([1,2,3,4,5])); // true console.log(increasingTriplet([5,4,3,2,1])); // false console.log(increasingTriplet([2,1,5,0,4,6])); // true console.log(increasingTriplet([1,1,1,1,1])); // false console.log(increasingTriplet([1,2])); // false console.log(increasingTriplet([1,2,3])); // true console.log(increasingTriplet([1,5,0,4,1,3])); // true
सबअरे समस्याएं:
दो-सूचक तकनीक:
इन-प्लेस एल्गोरिदम:
ऐसी समस्याओं और रणनीतियों का अभ्यास करके, आप अपने समस्या-समाधान कौशल में सुधार कर सकते हैं और विभिन्न कोडिंग चुनौतियों के लिए बेहतर ढंग से तैयार हो सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3