首页 > 试题广场 >

请指出以下代码段使用了何种算法public void ...

[单选题]
请指出以下代码段使用了何种算法
public void func(int[] arr1, int k, int m,int[] arr2) { 
arr2[0] = 0; 
for (int i = 1; i <= m; i++) { 
int min = i; 
for (int j = 0; j < k; j++) { 
if (arr1[j] <= i) { 
int temp = arr2[i - arr1[j]] + 1; 
if (temp < min) { 
min = temp; 
} 
} 
} 
arr2[i] = min; 
} 
}


  • 分治算法
  • 动态规划
  • 贪心算法
  • 回溯算法
分治算法和回溯算法一眼就看出来没体现,再看一下循环内部,一眼就可以看出不是贪心,因为是全局最优解,所以应该为动态规划
发表于 2018-12-24 17:52:10 回复(0)