第二题 计算相邻两个点的位移量绝对值diff O(n) 求每个diff需要的步数step,数学方法可解,直接求diff对应的步数 O(k) k < n 累加全部step O(n) 数学方法 步数 diff 0 0 1 1 1 2 1 2 3 1 3 1 2 3 4 2 0 所有<=4 偶数 4 1 2 3 4 10 8 6 ... 所有<=10 偶数 5 1 2 3 4 5 15 13 11 ... 所有<=15 奇数 6 1 2 3 4 5 6 21 19 17 ... 所有<=21 奇数 ... f(0) f(1) f(2) f(3) f(4) f(5) f(6) ... 偶 奇 奇 偶 偶 奇 奇 ... 根据 diff <= 1+2+3+...+x = x*(x+1)/2 得 x>=sqrt(diff+1/4)-1/2 利用diff奇偶性在[x,x+3]之间找第一个具有相同奇偶性的数就是所求的步数
点赞 评论

相关推荐

2024-12-10 17:38
广州新华学院 Node.js
想逆袭好楠:太紧凑了感觉,文字好多看的眼花,建议自我评价删了,因为自我评价都是吹嘘自己的,感觉没什么价值,然后改一下排版
点赞 评论 收藏
分享
找不到工作死了算了:你已经熟练掌握c语言啦,可以投简历参加秋招了
点赞 评论 收藏
分享
牛客网
牛客企业服务