xinxinxxyy 2023-01-27 03:26 采纳率: 100%
浏览 164
已结题

leetcode上面的题,求解

img


我用了两种写法 前面的答案都没问题 就是到了n==130的时候,一种得到答案为2(正确答案),一种得到的答案为4,但是,我把第二种错误答案的代码改一下,就是把下面的for循环,改成i=2开始,答案就变成了2,就正确了,我不知道为什么,百思不得其解,求解!!

img


这是第一种正确的代码,求平方数的个数就相当于在求深度,这里的深度体现在temp+1上

img

这是第二种答案有错误的代码,n等于130的时候出现了错误正确答案是2,这个dfs得出来的是4,我想的是每往下递归一层,index就+1,这里的index是层数(深度),初始化为0 只要我把i初始化为2 答案就正确了 不知道是什么原因 我觉得这两种写法应该是一个意思啊。

  • 写回答

2条回答 默认 最新

  • X-道至简 2023-01-27 14:29
    关注

    我运行了一下,第一种和第二种结果是一样的
    是不是可能栈运行有异常的情况
    你这样试试:

    1. 测试一:输入90(=81+9)看是不是对的,如果是对的,说明程序逻辑没有啥问题,注意下各个变量的初始化
    2. 测试二:把for从1到sqrt(n),改成从大sqrt(n)到1在试一下130的情况
    3. 注意取的sqrt(n)值要能循环到,比如130,要能到循环到11
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月4日
  • 已采纳回答 1月27日
  • 创建了问题 1月27日

悬赏问题

  • ¥15 给我一个openharmony跑通webrtc实现视频会议的简单demo项目,sdk为12
  • ¥15 vb6.0使用jmail接收smtp邮件并另存附件到D盘
  • ¥30 vb net 使用 sendMessage 如何输入鼠标坐标
  • ¥15 关于freesurfer使用freeview可视化的问题
  • ¥100 谁能在荣耀自带系统MagicOS版本下,隐藏手机桌面图标?
  • ¥15 求SC-LIWC词典!
  • ¥20 有关esp8266连接阿里云
  • ¥15 C# 调用Bartender打印机打印
  • ¥15 我这个代码哪里有问题 acm 平台上显示错误 90%,我自己运行好像没什么问题
  • ¥50 C#编程中使用printDocument类实现文字排版打印问题