xue_fighting:楼主选了哪个
投递中银金科等公司10个岗位 >
0 点赞 评论 收藏
分享
投递美团等公司10个岗位 >
0 点赞 评论 收藏
分享
2022-04-26 20:48
华中科技大学 算法工程师 QIXIU:菜菜回答一波,这题解法有点妙呀。
我们可以这样理解,对于数组A, 我们从左向右依此消掉第i 个数,
1. 如果A[i] <= A[i-1], 可以发现在消去A[i-1] 时, A[i] 可以被消去, 即不增加操作次数
2. 如果 A[i] > A[i-1], 可以发现当前已发生操作可以消去A[i-1], 那么A[i]也可以被消去一部分A[i-1], 则为了消去A[i], 需要增加A[i] - A[i-1] 次操作
可以证明该算法拥有全局最优解,
投递字节跳动等公司10个岗位 >
0 点赞 评论 收藏
分享
投递美团等公司10个岗位 >
0 点赞 评论 收藏
分享
投递地平线等公司10个岗位 >
0 点赞 评论 收藏
分享
2022-04-18 10:57
华中科技大学 算法工程师 QIXIU:菜菜回答一波,~, 在C++表示位取反,从而可以发现~k 作为判断条件,其与k!=-1 等价, 原因在于-1 的计算机表示为所有位全一 (详见负数的补码表示, 绝对值的表示位取反加1),如此-1 的位取反为0。 如此可以推算出最内层循环为i次, 中间层为i^2 次, 最外层为n 次, 根据立方和公式估计原算法计算复杂度为O(n^4)。
好复杂的题,涉及计算机数的表示, C++ 条件判断, 数列求和。😂
投递摩根士丹利等公司10个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了: