Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में मान्य त्रिभुज संख्या

मान लीजिए कि हमारे पास एक सरणी है जिसमें गैर-ऋणात्मक पूर्णांक होते हैं, हमारा कार्य उस सरणी से चुने गए ट्रिपल की संख्या की गणना करना है जो त्रिभुज बना सकते हैं यदि हम उन्हें त्रिभुज की तरफ लंबाई के रूप में लेते हैं। इसलिए यदि इनपुट [2,2,3,4] जैसा है, तो परिणाम 3 होगा [2,3,4] पहले 2 का उपयोग करके, [2,3,4] दूसरे 2 का उपयोग करके, और [2,2 ,3].

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • ret :=0, n :=nums का आकार, क्रमबद्ध अंक
  • मैं श्रेणी n - 1 से 0 तक के लिए
    • दाएं:=i – 1, बाएं:=0
    • बाएं <दाएं
      • योग :=अंक [बाएं] + अंक [दाएं]
      • यदि योग> अंक [i], तो रिट को दाएं-बाएं बढ़ाएं, दाएं 1 से घटाएं, अन्यथा 1 से बाएं बढ़ाएं
  • रिटर्न रिटर्न

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   int triangleNumber(vector<int>& nums) {
      int ret = 0;
      int n = nums.size();
      sort(nums.begin(), nums.end());
      for(int i = n - 1; i >= 0; i--){
         int right = i - 1;
         int left = 0;
         while(left < right){
            int sum = nums[left] + nums[right];
            if(sum > nums[i]){
               ret += right - left;
               right--;
            }else left++;
         }
      }
      return ret;
   }
};
main(){
   vector<int> v = {2,2,3,4};
   Solution ob;
   cout << (ob.triangleNumber(v));
}

इनपुट

[2,2,3,4]

आउटपुट

3

  1. C++ में अंकगणित संख्या

    अंकगणितीय संख्या एक ऐसी संख्या है जिसमें सभी धनात्मक भाजक का औसत एक पूर्णांक होता है अर्थात संख्या n के लिए यदि भाजक की संख्या भाजक के योग को विभाजित कर सकती है तो n एक अंकगणितीय संख्या है। आइए अवधारणा को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं, Input : n = 6 Output : YES Explanation : Divisor

  1. सी ++ में तर्कों की परिवर्तनीय संख्या

    कभी-कभी, आप एक ऐसी स्थिति में आ सकते हैं, जब आप एक ऐसा फ़ंक्शन करना चाहते हैं, जो पैरामीटर की पूर्वनिर्धारित संख्या के बजाय तर्कों की चर संख्या, यानी पैरामीटर ले सकता है। सी/सी++ प्रोग्रामिंग भाषा इस स्थिति के लिए एक समाधान प्रदान करती है और आपको एक फ़ंक्शन को परिभाषित करने की अनुमति है जो आपकी आवश्

  1. C++ में CHAR_BIT

    CHAR_BIT चार में बिट्स की संख्या है। इसे C++ भाषा में “limits.h” हेडर फाइल में घोषित किया गया है। यह 8-बिट प्रति बाइट का होता है। यहाँ C++ भाषा में CHAR_BIT का एक उदाहरण दिया गया है, उदाहरण #include <bits/stdc++.h> using namespace std; int main() {    int x = 28;    int a