说一说搜狗的圆周率那个题

题目是给你圆上任意n个点,以角度表示范围是0-360,开闭就不管了,然后求两点之间最大劣弧的角度

思路1 暴力 只能过50
思路2 dp
记录当前开始位置s,
然后往后找到以s为起点的角度小于等于180的弧,
终点为e
更新最大距离maxd,
继续向后,则弧变为优弧,
先用优弧相对的劣弧更新maxd
然后依次向后移动起点s,
若弧依然为优弧,继续用与之相对的劣弧更新maxd,
若为劣弧,则用劣弧更新maxd,结束调整,
然后继续向后移动终点e,重复刚才的步骤,




交了卷我才想起来,,,没错我就用的暴力50☹🙃🙃🙃#搜狗#
全部评论
时间复杂度O(n)
点赞 回复 分享
发布于 2017-09-08 18:30
我暴力百分之七十,哎,挂了
点赞 回复 分享
发布于 2017-09-08 18:32
大佬好幽默
点赞 回复 分享
发布于 2017-09-08 18:32
6666666
点赞 回复 分享
发布于 2017-09-08 18:33
dpx
点赞 回复 分享
发布于 2017-09-08 18:38
dp是什么意思啊?总是看到
点赞 回复 分享
发布于 2017-09-08 18:39
dp那个和暴力有区别吗
点赞 回复 分享
发布于 2017-09-08 18:43
二分查找可以nlogn
点赞 回复 分享
发布于 2017-09-08 21:42
这题我感觉只需要把圆周分成两部分(0-179)(180-359) 然后没错,我把两个都排了下序 最后遍历一次就行了 时间复杂度应该是nlogn(排序里面的),AC了
点赞 回复 分享
发布于 2017-09-09 14:56

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务