class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 计算最小的距离总和
* @param distance int整型vector<vector<>> 学生到2个校区的距离
* @return int整型
*/
int Calculate(vector<vector<int> >& distance) {
// write code here
int n=distance.size();
int ans=0;
vector<int> dp(n,INT_MAX);
for(int i=0;i<n;i++){
dp[i]=distance[i][0]-distance[i][1];
ans+=distance[i][1];
}
sort(dp.begin(),dp.end());
for(int i=0;i<n/2;i++){
ans+=dp[i];
}
return ans;
}
};
#include <climits>
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 求最小的总和值
* @param table int整型vector<vector<>> excel表格
* @return int整型
*/
int Calculate(vector<vector<int> >& table) {
// write code here
int m=table.size(),n=table[0].size();
vector<vector<int>> dp(m+1,vector<int>(n+1,INT_MAX));
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
if(i==1&&j==1) dp[1][1]=table[0][0];
else dp[i][j]=min(dp[i-1][j],dp[i][j-1])+table[i-1][j-1];
}
}
return dp[m][n];
}
};
#我的实习求职记录#