所以还有另一个度量算法的组成部分, 那就是空间复杂度
那么什么是空间复杂性呢？
这两种算法
看看你能不能告诉我们, 好的.
那么它真的明白发生了什么吗？
它真的能理解吗？
不太多, 但它确实能够生成在给定上下文中有意义的可能的单词序列
所以筛子的空间复杂度是x
这样做的原因是我们实际上继续为每个数字创建一个完整的数组
对吧？
这就是为什么X是这样的
是的
所以我们创建了一个布尔数组, 试除法的空间复杂度是1, 因为我们实际上没有存储,
我们实际上没有创建任何辅助结构来帮助我们
对吧？
我们创建的唯一空间就是存储输出本身
所以这是一种我们在这里进行的权衡
筛子确实有一些空间, 但它运行得更快, 而试验除法没有额外的空间,
尽管当我们得到更高, 更大的输出或输入时, 它的运行时间确实差得多
所以是的, 这是非常有趣的, 它能够为我们提供所有这些,
甚至可以告诉我们它们在空间和时间方面的表现
所以如果我们去一个很受欢迎的网站, 叫做Leap Code, 我们可以试着看看我们是否能解决其中的一个问题
所以我们把它带到
在这里, 我们可以看到
我来放大一下
所以这恰好是每天的问题
Lead Code是一个非常受欢迎的网站, 软件工程师们经常使用它来准备面试
基本上, 他们会问你这种不是真正的脑筋急转弯, 但有时他们是脑筋急转弯,
但他们基本上只是问你, 基本上是要求你实现一个解决方案,
在你的代码或你选择的语言
对吧？
所以这个问题叫做单元素
在一个有序数组中, 你得到了一个有序数组
所以基本上是一个元素序列, 它只由整数组成
所以整数和每个元素都只出现两次, 除了一个元素只出现一次
我们想要返回一个只出现一次的元素, 我们的解决方案必须在o的log
n时间和o的空间中运行
所以这听起来像是一个二分搜索问题, 因为它是排序的
如果你对它很熟悉的话, 这就可以解释log n的运行时间
所以基本上, 它看起来像是检查它是否小于或正确的中途, 并有点探测
好吧
所以如果我们继续, 让我们看看它是否能阅读, 你能解决这个问题吗？
在以下链接中规定
这里有一个解决问题的办法
单个元素是从代码中排序的数组
所以现在它实际上进入了我发送的那个链接, 它正在读出问题和例子,
希望它能给我们一个正确的解决方案
这很酷的原因是因为代码实际上有一个更大的
因此, 我们将能够针对一组测试来测试我们的解决方案, 这些测试将验证其作为解决方案的鲁棒性,
并查看它是否也满足此运行时需求, 即它必须及时运行O日志
所以在计算机科学中, 你可以编写所有类型的代码来解决同一个问题
但正如我们之前看到的, 在生成一定数量的所有素数的情况下,
通常情况下, 在时空权衡方面, 一种算法可能比另一种算法更好
所以如果我们继续看这里, 再一次, 代码片段被不正确的语言注释了
这不是一个SQL脚本的任何延伸, 甚至不是语法
但是如果我们继续复制代码, 我们可以把它带到这里
不过, 我需要注意的一点是, 它实际上删除了解决方案的类声明, 而这正是我们实际需要的
它也去掉了一些我们确实需要的东西
所以如果我们继续快速地修补它, 然后运行它, 让我们看看它是否真的通过了测试用例,
Python是否对缩进敏感
所以我们继续缩进它
果然, 它接受了, 这是相当可怕的
现在, 我要警告的一件事是, 这里可能有一些解决方案, 它可以很容易地直接从
然而, 这被锁定在付费墙后面
我相信
所以是的
它肯定没有看那里, 所以我们可以看到, 这是接受
这只是两个非常小的测试用例, 所以让我们继续提交, 这将运行许多,
许多更多的测试
所以如果它真的通过了这个, 我们就知道它真的很好
这很酷对吧
它真的有用
所以是的, 它甚至给了我们一个解释这里发生了什么
它给出了时间复杂度, 也给出了空间复杂度
我几乎有点怀疑它这样做的原因是不是因为我在前面的问题中问到了这个问题,
这真的很酷
所以, 是的, 我们可以看到, 这实际上只是工作
但是如果我们想让它在Java中呢？
你能给我Java代码吗？
相反
好吧
所以这是一件非常酷的事情, 对于聊天应用程序来说
GPT是你可以用一种语言写代码, 也许你想用另一种语言写, 因为可移植性的原因,
或者你想要的任何原因
如果你让Shakib用不同的语言为那个问题规格生成相同的代码, 它可能能做到
让我们来验证一下它是否正确
再一次, 它错误地注释了类型或者代码块, 但是只要你熟悉编码语言,
事实上, 让我们来做个实验
我的意思是, 它引用了Java代码, 但如果你真的不知道, 你可以尝试复制这些代码,
然后问它这是用什么语言写的？
它可能应该说Java, 因为我的意思是, 这就是它看起来的样子, 对吧？
但事不宜迟, 让我们直接将其复制到Java中, Java代码笔在这里, 让我们提交它,
看看它是否有效
果然, 这又是一个正确的解决方案
所以这很酷, 对吧？
您可以在这里或多或少使用相同的算法在两种语言之间进行翻译
但是, 是的, 这真的显示了聊天和算法的力量, 期待在下一个关于调试的视频中见到你