题目:试分析该算法的时间复杂度。

x=n;//n>1
y=0;
while(x>=(y+1)*(y+1))
  y++;

此题x>=(y+1)*(y+1)可转换为

n>=(y+1)*(y+1)即有n^0.5>=y+1

所以y<=n^0.5-1

因此时间复杂度为 o(n^0.5)

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐