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

C++ में त्रिकोण न्यूनतम पथ योग


मान लीजिए हमारे पास एक त्रिकोण है। हमें शीर्ष से नीचे तक न्यूनतम पथ योग ढूंढना है। प्रत्येक चरण में, हम नीचे की पंक्ति पर आसन्न संख्याओं पर जा सकते हैं।

उदाहरण के लिए, यदि निम्नलिखित त्रिकोण है:

[       [2],      [3,4],     [6,5,7],    [4,1,8,3] ]

शीर्ष से नीचे तक न्यूनतम पथ योग 11 है (2 + 3 + 5 + 1 = 11)।

चरण

  • डायनामिक प्रोग्रामिंग दृष्टिकोण में उपयोग करने के लिए एक टेबल बनाएं।

  • n := त्रिकोण का आकार

  • i := n-2 से 0 तक नीचे जाएं

    • j := 0 से i तक

      • dp[j] := triangle[i][j] + min(dp[j], dp[j+1])

  • dp[0] वापस करें

उदाहरण (C++)

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

#include <bits/stdc++.h> using namespace std; class Solution { public:    int minimumTotal(vector<vector<int>>& triangle) {       vector <int> dp(triangle.back());       int n = triangle.size();       for(int i = n - 2; i >= 0; i--){          for(int j = 0; j <= i; j++){             dp[j] = triangle[i][j] + min(dp[j], dp[j + 1]);          }       }       return dp[0];    } }; main(){    Solution ob;    vector<vector<int> > v = {{2},{3,4},{6,5,7},{4,1,8,3}};    cout << ob.minimumTotal(v); }

इनपुट

[[2],[3,4],[6,5,7],[4,1,8,3]]

आउटपुट

11
  1. C++ में त्रिभुज का परिमाप खोजें C++ में त्रिभुज का परिमाप खोजें

    इस समस्या में, हम त्रिभुज का परिमाप, विभिन्न प्रकार के त्रिभुजों के परिमाप का सूत्र और उन्हें खोजने के लिए प्रोग्राम देखेंगे।परिमाप को आकृति के चारों ओर की कुल दूरी के रूप में परिभाषित किया गया है। मूल रूप से, यह दी गई आकृति की सभी भुजाओं का योग है।त्रिभुज का परिमापत्रिभुज का परिमाप इसकी सभी तीन भुज

  1. C++ में त्रिभुज के केंद्रक (Centroid) ज्ञात करने का प्रोग्राम C++ में त्रिभुज के केंद्रक (Centroid) ज्ञात करने का प्रोग्राम

    इस समस्या में, हमें एक 2D ऐरे दिया गया है जो त्रिभुज के तीन शीर्षों के निर्देशांक को दर्शाता है। हमारा कार्य C++ में त्रिभुज के केंद्रक (Centroid) ज्ञात करने का प्रोग्राम बनाना है।केंद्रक (Centroid) त्रिभुज का वह बिंदु है जहां त्रिभुज की तीनों मध्यिकाएं (medians) प्रतिच्छेद करती हैं।मध्यिका (Median)

  1. C++ में समांतर चतुर्भुज के अंदर त्रिभुज का क्षेत्रफल C++ में समांतर चतुर्भुज के अंदर त्रिभुज का क्षेत्रफल

    समस्या विवरण एक समांतर चतुर्भुज दिया गया है जिसका आधार और ऊंचाई ज्ञात है। इसमें एक त्रिभुज अंकित है जिसका आधार समांतर चतुर्भुज के समान है। त्रिभुज का क्षेत्रफल ज्ञात करें। सूत्र क्षेत्रफल = ½ × आधार × ऊंचाई area = 0.5 * b * h उदाहरण कोड #include <iostream> #include <cmath> using names