京东2015 笔试 编程题
2014-10-13 10:37
363 查看
int dp(int[] a, int n, int m) { int[][] s = new int [m + 1]; for(int i = 0; i < n; i++) for(int j = 1; j <= m; j++) if(i == 0) s[i][j] = a[i] == j ? a[i] : -1; else if(j < 10) s[i][j] = a[i] == j ? a[i] : s[i - 1][j]; else { s[i][j] = s[i - 1][j]; if(j % a[i] == 0 && s[i][j / a[i]] > 0 && (s[i][j] < 0 || s[i][j / a[i]] * 10 + a[i] < s[i][j])) s[i][j] = s[i][j / a[i]] * 10 + a[i]; } return s[n - 1][m]; }
测试用例
public static void main(String[] args) { int[] a = new int[] { 2, 3, 4, 5, 6, 7, 8, 9 }; int n = a.length; System.out.println(new Test().dp(a, n, 36)); System.out.println(new Test().dp(a, n, 100)); }
相关文章推荐
- 京东2015在线笔试编程题--分苹果Java实现
- 京东2015在线笔试----编程题--分苹果
- 京东2015在线笔试----编程题--分苹果
- 京东2015实习生笔试编程题
- 京东2015校招笔试编程题
- 京东2015在线笔试----编程题--分苹果
- 2017京东校招笔试编程题:进制转换、辗转相除
- 京东2016校园实习生招聘系统测试岗在线笔试编程题
- 算法编程题积累(2)——京东笔试“求概率”问题
- 京东2015年应届生招聘笔试题(A)卷答案编程题和附加题部分
- 京东软开2015笔试:寻找满足条件的整数
- 京东2017实习生招聘在线笔试编程题题解
- 京东校招笔试(C++方向)编程题
- 京东2017校招笔试编程题2:进制转换、辗转相除法
- 京东2017笔试编程题
- 京东2017实习生招聘在线笔试编程题
- 京东2016笔试编程题
- 京东2017实习生笔试编程题-终结者C
- 京东2017笔试编程题
- 2017京东校招笔试编程题--python