1.解决一个问题最好的方法肯定是寻找一个最优解。但是最优解有很多个小的子解选择,那么在选择子解的过程中就要筛选出不合适的解,保留可能的最优解,就能节约求解的时间。
2. 题目一
for (int j=1; j<len; j++)
{
for (int i=0; i<j; i++)
{
if (arr[j]>arr[i] && longest[j]<longest[i]+1)
{
longest[j] = longest[i] + 1;
}
}
}
题目二
for(int j = 2; j <= n; j++)
{
for(int i = 2; i < j; i++)
{
if(dis[1][j] > dis[1][i] + dis[i][j])
dis[1][j] = dis[1][i] + dis[i][j];
}
}
3.在结对编程的过程中,我和组员会把自己的看法与理解说出来,相互对比,纠正错误,有些题目还是不太习惯使用动态规划,以后要多点想以小化大的思路。