京东笔试 8.12
第一题忘了,
第二题dp,用一个n * 10的数组,
k from 0 to 9 :
dp[ i ][ (nums[i] * k) % 10 ] += dp[i + 1][k];
dp[ i ][ (nums[i] + k) % 10 ] += dp[i + 1][k];
第三题不知道有没有更好的方法,我直接暴力枚举做的,第一个点(x, y), 顺时针方向第二个点(x + a, y + b), 第三第四个点分别是(x + a - b, y + a + b), (x - b, y + a),最后把结果÷4就可以(每个点都算了一遍
最后 100 96 100
第二题dp,用一个n * 10的数组,
k from 0 to 9 :
dp[ i ][ (nums[i] * k) % 10 ] += dp[i + 1][k];
dp[ i ][ (nums[i] + k) % 10 ] += dp[i + 1][k];
第三题不知道有没有更好的方法,我直接暴力枚举做的,第一个点(x, y), 顺时针方向第二个点(x + a, y + b), 第三第四个点分别是(x + a - b, y + a + b), (x - b, y + a),最后把结果÷4就可以(每个点都算了一遍
最后 100 96 100
全部评论
想问一下,不是每次是数组最后两个数的和与积的个位数,为什么用最后一位数与 0-9 处理呢
T2后一个状态只和前一个相关,所以2个[10]换着用就够了
相关推荐