小编nin*_*get的帖子

为什么字符串的空间复杂度是 O(n) 而数字是 O(1)?

我对辅助空间复杂性有点迷失。

在我参加的讲座中,讲师指出字符串的空间复杂度为 O(n),因为字符串的长度 (n) 会有所不同。但诸如数字、布尔值、未定义等原语具有恒定的空间复杂度 O(1)。

我很困惑,因为如果字符串的空间长度不同,那么数字也不一样吗?因为它们也会有不同的“长度”?

我确实理解布尔值和未定义的复杂度是 O(1),我的意思是真/假、未定义和 null 是与长度无关的实例。

如果有人能为我澄清这一点,我将不胜感激。

algorithm space-complexity

6
推荐指数
1
解决办法
1469
查看次数

使用 Strapi headless CMS 将数据播种到数据库

我对使用无头 CMS Strapi 还很陌生。我正在尝试将一些数据填充到我的数据库中,就像将 knex 与 Node js 一起使用一样,但是,我不确定是否要这样做。我看过一个教程,其中在 中config/functions/bootstrap.js,我们将使用module.export一个异步函数来填充数据;我已经像这样定义了我的代码:

"use strict";
const data = [
 {
   title: "string",
   description:"string",
   director: "string",
   assistantDirector: "string",
   directorOfPhotography: "string",
   firstAc: "string",
   sound: "string",
   thumbnail: "",
   images: "",
   hairAndMakeUp: "string",
   productionAssistant: "string",
   writer: "string",
   cast: "string",
   video: "string",
   dateFilmed: 2020,
 }];

module.exports = async () => {
  data.forEach(reel => {
    await strapi.services.reel.create({
      title: reel.title,
      description: reel.description,
      director: reel.director,
      assistantDirector: reel.assistantDirector,
      directorOfPhotography: reel.directorOfPhotography,
      firstAc: reel.firstAc,
      sound: reel.sound,
      hairAndMakeUp: reel.hairAndMakeUp,
      productionAssistant: reel.productionAssistant, …
Run Code Online (Sandbox Code Playgroud)

database content-management-system strapi

6
推荐指数
1
解决办法
6206
查看次数

理解两个求和 leetcode 问题 (Ruby)

我正在研究Leetcode Two Sums问题:“给定一个整数数组,返回两个数字的索引,使它们相加为特定目标。”。这就是我所拥有的:

def two_sum(nums, target)
  hash = {}
  nums.each_with_index do |num, index|
    diff = target - num
    if hash[diff]
      return [hash[diff],index]
    else
      hash[num] = index
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

该代码有效,但是,我不太确定为什么会这样。

所以我明白,在每个语句中,它遍历数字并找到差异。例如,

nums = [4,2,5,1]
target = 6
Run Code Online (Sandbox Code Playgroud)

在第一个循环中,差异是 6-2 = 4。但是哈希显然是空的,因此它将注册 num 作为键,以当前索引作为值。因此哈希是,

hash = {
  4: 0
}
Run Code Online (Sandbox Code Playgroud)

在第二个循环中,差异是 6-4 = 2。hash[4] 为 nil,因此它将当前 num 和 index 添加到字典中。

hash = {
  4: 0
  2: 1
}
Run Code Online (Sandbox Code Playgroud)

像这样,这不会继续将 nums 添加到哈希中,因为至少在这种情况下没有匹配的键值对吗?

也许我把事情复杂化了。如果有人可以 eli5,我将不胜感激。谢谢!

ruby

3
推荐指数
1
解决办法
92
查看次数

如何更快地加载图像并提高网站性能(React JS、GSAP 和 Netlify)?

我有一个部署在 Netlify 上的网站: https ://hungry-mclean-362570.netlify.com/

Github: https: //github.com/shindosu/mutsuki-portfolio-client

为了提供一些背景知识,该应用程序由 React JS 提供支持。在 的主页中<div id="right-side">,我呈现了两个 React 组件。它们均由三个 JS 提供支持,并且通过 GSAP 通过图像过渡动画在两张图片之间无限交替。因此,我总共在右侧渲染了 4 个图像。图像大小总计约为 13MB(更多图像即将推出)

我还有一个滑块,如果该值命中,>=50则样式和图像将发生变化,让用户知道他们正在查看的图像的“类别”。

现在,它还没有完成,所以不要介意不完整。让我困扰的是图像的加载时间(由三个 JS、GSAP 处理)加载时间非常长,我认为这也影响了其他元素的加载时间。

我怎样才能加快加载过程?我尝试减小图像大小(之前是 60MB..现在是 13MB!);我试图撕碎更多,但我最多能达到 600~KB/img 左右,而不会损失任何实质性的质量。

还有其他方法可以解决这个问题吗?这将是一个投资组合网站,因此项目页面中将包含更多图像,因此我假设如果我继续我现在正在做的方式,结果将与我的页面一样或更糟糕正在努力。

感谢您的时间!

image three.js reactjs gsap

1
推荐指数
1
解决办法
2万
查看次数