求解 a^3 + b^4 = c^3 + d^3 最佳运行时间

2024-01-27

注意:这个问题不同于写出 a^3 + b^3 = c^3 + d^3 的所有解 https://stackoverflow.com/questions/14454133/write-all-solutions-for-a3-b3-c3-d3因为我需要帮助理解算法的运行时间,而不是算法是什么。

在《破解编码访谈》中,第 6 版,第 13 页。 69、有如下例子:

打印方程 a^3 + b^3 = c^3 + d^3 的所有正整数解,其中 a、b、c、d 是 0 到 1000 之间的整数。

这是给定的最佳解决方案:

1 n = 1000
2 for c from 1 to n:
3     for d from 1 to n:
4        result = c^3 + d^3
5        append(c, d) to list at value map[result]
6 for each result, list in map:
7    for each pair1 in list:
8        for each pair2 in list:
9            print pair1, pair2

书上声称运行时间是O(n^2)。

但是,我不确定如何限制第 6-9 行的复杂性。我看到第 6-7 行循环了 n^2 个数字,但我不明白第 8 行的最后一个 for 循环如何可以是恒定时间,因为整体运行时间为 O(n^2)。

事实上,我根本无法给出第 8 行的界限,因为它取决于每个列表的长度,我只能说小于 n^2,使得整个事情 O(n^4) 。

有人可以启发我吗?


我的c#解决方案

 var hash = new Hashtable();
        for (int i = 1; i <= n; i++)
        {
            for (int j = i + 1; j <= n; j++)
            {
                var value = Math.Pow(i, 3) + Math.Pow(j, 3);
                if (hash.Contains(value))
                    Console.WriteLine(string.Format("{0},{1},{2}", hash[value], i, j));
                else hash.Add(value, i + "," + j);
            }
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

求解 a^3 + b^4 = c^3 + d^3 最佳运行时间 的相关文章

  • 点集子集的最小周长凸包

    给定平面上的 n 个点 没有 3 个共线 给定数字 k 找到 k 个点的子集 使得 k 个点的凸包在 k 个点的子集的任何凸包中具有最小周长 我可以想到一个简单的方法 运行时间为 O n k k log k 找到大小为 k 的每个子集的凸包
  • 由周期表元素形成的最大单词的算法

    我想为以下问题场景编写一个算法 根据元素周期表元素的名称 找到可以组成的最大单词 符号如Na Ne等应被视为单个元素 这是在一家知名公司的求职面试中被问到的 有人可以帮我解决这个问题吗 我认为更好的方法是检查字典中的每个单词 看看是否可以从
  • 在 C++ 中通过引用传递 std 算法谓词

    我正在尝试从 a 中删除元素std list并保留已删除元素的一些统计信息 为此 我使用列表中的remove if 函数 并且我有一个谓词 我想使用这个谓词来收集统计数据 这是谓词的代码 class TestPredicate privat
  • 如何仅使用单个数组在 JavaScript 中模拟调用堆栈

    我正在看维基百科页面 https en wikipedia org wiki Call stack在调用堆栈上 并尝试理解这个图像 据我所知 哈哈 const memory memory 0 3 top of stack pointer m
  • 异或交换可以扩展到两个以上的变量吗?

    我一直在尝试将异或交换扩展到两个以上的变量 例如n变量 但我没有得到比这更好的地方3 n 1 对于两个整型变量x1 and x2你可以像这样交换它们 swap x1 x2 x1 x1 x2 x2 x1 x2 x1 x1 x2 所以 假设你有
  • 使用并集查找(又名不相交集)检测图是否是二分图

    我正在 Spoj 上做一个问题 基本上可以简化为检测图是否是二分图 我正在尝试使用 dfs 为图表着色 但它太慢了 有人评论这个 没有 bfs 没有 dfs 没有二部图 简单的并查集就可以做到 确实速度很快 提示 1 偶数长度的环不会影响两
  • C# 中的 strstr() 等效项

    我有两个byte 我想找到第二个的第一次出现byte 在第一个byte 或其中的一个范围 我不想使用字符串来提高效率 翻译第一个byte to a string会效率低下 基本上我相信就是这样strstr 在 C 中做 最好的方法是什么 这
  • 渐近符号的除法运算

    Suppose S n Big Oh f n T n Big Oh f n both f n 相同地属于同一类 我的问题是 为什么S n T n Big Oh 1 是不正确的 考虑S n n 2 and T n n 然后两个S and T
  • 计算两点之间的最短路线

    过去几周我一直在开发一款多人 HTML5 游戏 使用nodejs and websockets 我已经被这个问题困扰了一段时间 想象一下 我用数组实现了这个平铺地图 如下所示 1 or 棕色瓷砖 路上有障碍物 玩家无法通过 0 or 绿色瓷
  • 如何检查是否存在可能的路径?

    我正在开发一个基于 javascript 的实验性游戏 玩家必须在二维平铺地图上移动才能退出 请随意检查这个小提琴并演奏 http jsfiddle net moonlife 74vLd 我只是随机放置障碍物 但有时障碍物会挡住玩家和出口之
  • 具有多个谓词的 C++11 算法

    功能如std find if来自algorithmheader 确实很有用 但对我来说 一个严重的限制是我只能为每次调用使用 1 个谓词count if 例如给定一个像这样的容器std vector我想同时应用相同的迭代find if 多个
  • 绘制多边形

    我正在使用 Google Maps API V3 根据路径绘制多边形 该路径是随机未排序坐标点 LatLng 的数组 这会产生以下形状 Polylines intersect Problem 由于多边形的形状取决于路径中点的顺序 因此如何对
  • 迭代任意大小的子集

    我可以迭代大小为 1 的子集 for int a 0 a lt size a 或大小为 2 的子集 for int a1 0 a1 lt size a1 for int a2 a1 1 a2 lt size a2 or 3 for int
  • 如何从迭代器推导连续内存

    不知何故 本土stl copy VC Dinkumware 上的算法表明它可以使用memcpy 可以轻松复制的数据 一个凡人能做到这一点吗 假设每个元素都是普通可复制的 random access iterator 是否意味着连续内存 标准
  • 从一种数字系统转换为另一种数字系统后会有多少位数字

    主要问题 有多少位数字 让我解释 我有一个二进制数 11000000 十进制数是192 转换为十进制后 它有多少位 以十进制表示 在我的示例中 它是 3 位数字 但是 这不是问题 我在互联网上搜索并找到了一种用于整数部分的算法和一种用于小数
  • Florian 的 Grisu2 算法如何工作?

    我遇到了一个关于将 double 转换为 ascii 的问题 经过搜索 我得到了 Florian 的论文 使用整数快速准确地打印浮点数 http www cs tufts edu nr cs257 archive florian loits
  • 实施二分查找有哪些陷阱? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 二分查找比看起来更难实现 虽然二分搜索的基本思想相对简单 但细节可能出人意料地棘手 Donald Knuth 新的二分搜索实现中最有可
  • 举例解释bpe(字节对编码)?

    有人可以帮忙解释一下背后的基本概念吗BPE模型 除了这张纸 https arxiv org abs 1508 07909 目前还没有那么多解释 到目前为止我所知道的是 它通过将罕见和未知的单词编码为子词单元序列来实现开放词汇表上的 NMT
  • 用于开始和/或包含搜索的最快字符串集合结构/算法是什么

    我有以下情况 我有一个大的字符串集合 比如说 250 000 平均长度可能是 30 我要做的就是在这些搜索中进行许多搜索 大多数搜索都是 StartsWith 和 Contains 类型的 该集合在运行时是静态的 这意味着选择的集合的初始读
  • n 或 nlog(n) 比常数时间或对数时间更好吗?

    在 Coursera 上的普林斯顿教程中 讲师解释了遇到的常见增长顺序函数 他说 线性和线性算术运行时间是 我们努力的目标 他的推理是 随着输入大小的增加 运行时间也会增加 我认为这是他犯了错误的地方 因为我之前听过他提到线性增长顺序对于高

随机推荐

  • 在 PHP 中将粗俗分数转换为数字

    如何将粗俗的分数转换为 PHP 可以用来计算其值的值 例如 3 4 l echo utf8 encode l ord l bin2hex l chr l 会输出类似这样的内容 194 c2be 我们怎样才能把它变成3 4 当从字符串中提取分
  • jQuery 按属性值过滤

    div class selectedColumns a href Driver License State a a href Email a a href Experience Level a a href First Name a a h
  • MySQL存储过程-如何获取最后插入的ID

    我创建了一个存储过程 它将一条记录插入表中并获取该记录的自动递增 ID 我在设置时遇到语法错误LAST INSERT ID 到一个变量中 ERROR 1064 42000 您的 SQL 语法有错误 检查 与您的 MySQL 服务器版本相对应
  • 通过 id 删除骨干模型?

    可以通过id删除模型吗 文档说您需要传入模型本身才能将其删除 所以我需要先获取模型然后删除它 我不能直接通过id删除它吗 您的意思是从集合中删除模型吗 查看文档 似乎您确实需要传递一个真实的模型 但源代码表明您可以只传递一个模型id或型号c
  • 具有唯一键的javascript和es6过滤器数组

    我有一个变量列表 例如 var name list some list console log name list Array 3 0 Object name Johny 1 Object name Monty 2 Object3 name
  • 统一加速

    我正在尝试在 Unity 中模拟加速和减速 我编写了代码来在 Unity 中生成轨道 并根据时间将对象放置在轨道上的特定位置 结果看起来有点像这样 我目前遇到的问题是样条线的每个部分都有不同的长度 并且立方体以不同但均匀的速度穿过每个部分
  • 指定父级 div 的不透明度,但使其不影响子级 HTML 元素

    我在 div 中有一个段落元素 div 的不透明度为 0 3 段落的不透明度为 1 当我显示元素时 该段落看起来是透明的 就像它的不透明度为 0 3 一样 有没有办法让div内的段落完全不透明 也许我可以为此设置一个 CSS 值 div s
  • 跳过没有装饰器语法的单元测试

    我有一套使用 TestLoader 的 来自单元测试模块 loadTestsFromModule 方法加载的测试 即 suite loader loadTestsFromModule module 这给了我一个非常充足的 运行良好的测试列表
  • 在Android模拟器中添加铃声

    有谁知道如何向 Android 模拟器添加 下载铃声或 mp3 声音 Go to DDMS in Eclipse 点击File Explorer选项卡并导航至mnt sdcard 单击创建新文件夹Plus图标称为ringtones 然后单击
  • 哪里可以找到 Android 示例?

    我检查了谷歌开发者网站上的一些 Android 开发练习和示例 我发现了这个网页 http developer android com tools samples index html http developer android com
  • Haskell - 非法多态类型?

    为什么该类型单独使用可以编译 但放入列表却失败 ft1 Foldable t Num a gt t a gt a ft1 F foldl 0 fTest Foldable t Num a gt t a gt a fTest F foldl
  • Django Cripy-Forms 找不到 CSS

    我正在使用 Django 和 Crispy Forms 我可以正确呈现表单 但不会出现 CSS 格式 我需要做什么 我已经添加了 CRISPY TEMPLATE PACK bootstrap to my settings py file h
  • 如何让 django 在继续完成与请求相关的任务之前给出 HTTP 响应?

    在我的 django 活塞 API 中 我想在调用另一个需要相当长的时间的函数之前向客户端产生 返回一个 http 响应 如何使yield 给出包含所需JSON 的HTTP 响应 而不是与生成器对象创建相关的字符串 我的活塞处理程序方法如下
  • 如何读取属性文件并使用项目 Gradle 脚本中的值?

    我正在开发一个 Gradle 脚本 我需要阅读local properties文件并使用属性文件中的值build gradle 我正在按照以下方式进行操作 我运行了下面的脚本 它现在抛出一个错误 但它也没有执行任何操作 例如创建 删除和复制
  • Django-CKEditor 不会渲染图像

    我已经安装了 Django CKEditor 并对其进行了配置以用于开发目的 现在我可以编辑文本并将其作为文本字段保存到数据库中 但是在插入图像时我遇到了很大的问题 我可以插入图像 它似乎可以正确保存到本地主机 正确的文件夹 但是当将图像渲
  • 如何更改 setInterval 和 setTimeout 函数中“this”的范围

    怎么可能使用this代替setInterval and setTimeout calls 我想这样使用它 function myObj this func function args setTimeout function this fun
  • 如何解决Require.js中的循环依赖?

    基本上 这个想法是 子 模块创建一个对象 并且该对象应该是作为 主 模块的实用程序库的一部分 然而 子 对象depends关于 main 的实用程序 Main module define sub function sub var utils
  • NameError:未初始化的常量 Bundler

    我刚刚将我的网络服务器更改为 Puma 并且必须将我的开发数据库从 sqlite 更改为 postgresql 但现在每次我尝试运行 rake db migrate 时都会收到此错误 rake aborted NameError unini
  • 为 ObjectContext 创建接口

    我正在尝试创建一个抽象层ObjectContext 我理解 OC 是一个工作单元 但我并不完全了解如何为它编写一个好的界面 理想情况下 我希望能够交换实现的 RealDataContext IDataContext对于像 FakeDataC
  • 求解 a^3 + b^4 = c^3 + d^3 最佳运行时间

    注意 这个问题不同于写出 a 3 b 3 c 3 d 3 的所有解 https stackoverflow com questions 14454133 write all solutions for a3 b3 c3 d3因为我需要帮助理