Untitled
unknown
c_cpp
2 years ago
867 B
5
Indexable
#include <iostream> #include <vector> using namespace std; int dynamicProgrammingLongestIncreasingSubsequence(vector<int>& nums) { int n = nums.size(); if (n == 0) { return 0; } vector<int> dp(n, 1); // Tabel DP untuk menyimpan panjang subsequence meningkat terpanjang for (int i = 1; i < n; i++) { for (int j = 0; j < i; j++) { if (nums[i] > nums[j]) { dp[i] = max(dp[i], dp[j] + 1); } } } int maxLength = 0; for (int i = 0; i < n; i++) { maxLength = max(maxLength, dp[i]); } return maxLength; } int main() { vector<int> nums = {3, 1, 8, 2, 5}; int result = dynamicProgrammingLongestIncreasingSubsequence(nums); cout << "Panjang subsequence meningkat terpanjang: " << result << endl; return 0; }
Editor is loading...