problem:https://leetcode.com/problems/delete-columns-to-make-sorted-iii/
这是一道伪装成2维的1维最长子序列类型的dp题目,虽然打着hard的tag,实际上我觉得还没有另外一道make sorted的贪心类型的题目难。
class Solution { public: int minDeletionSize(vector<string>& A) { int n = A.size(); int m = A[0].size(); int res = 0; vector<int> dp(m, 1); for (int i = 0; i < m; i++) { // cout << i << " "; for (int j = 0; j < i; j++) { bool bLarger = true; for (int k = 0; k < n; k++) { if (A[k][i] < A[k][j]) { bLarger = false; break; } } if (bLarger) { dp[i] = max(dp[i], dp[j] + 1); } } res = max(res, dp[i]); } //cout << res << endl; return m - res; } };
[动态规划] leetcode 960 Delete Columns to Make Sorted III
原文:https://www.cnblogs.com/fish1996/p/11318507.html