1335. Cpp의 Leetcode 솔루션
5065 단어 chiki1601challengescpp
class Solution {
public:
int minDifficulty(vector<int>& jobDifficulty, int d) {
const int n = jobDifficulty.size();
if (n < d)
return -1;
// dp[i][k] := min difficulty to schedule the first i jobs in k days
vector<vector<int>> dp(n + 1, vector<int>(d + 1, INT_MAX / 2));
dp[0][0] = 0;
for (int i = 1; i <= n; ++i)
for (int k = 1; k <= d; ++k) {
int maxDifficulty = 0; // max(job[j + 1..i])
for (int j = i - 1; j >= k - 1; --j) { // 1-based
maxDifficulty = max(maxDifficulty, jobDifficulty[j]); // 0-based
dp[i][k] = min(dp[i][k], dp[j][k - 1] + maxDifficulty);
}
}
return dp[n][d];
}
};
리트코드
도전
문제에 대한 링크는 다음과 같습니다.
https://leetcode.com/problems/minimum-difficulty-of-a-job-schedule/
Reference
이 문제에 관하여(1335. Cpp의 Leetcode 솔루션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/chiki1601/1335-leetcode-solution-in-cpp-11je
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
문제에 대한 링크는 다음과 같습니다.
https://leetcode.com/problems/minimum-difficulty-of-a-job-schedule/
Reference
이 문제에 관하여(1335. Cpp의 Leetcode 솔루션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/chiki1601/1335-leetcode-solution-in-cpp-11je텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)