小编Jun*_*Kim的帖子

如何自定义新的谷歌登录按钮?

谷歌最近在这里宣布了一种新的用户登录方式。

\n

https://developers.google.com/identity/gsi/web?hl=en

\n

在本教程中,按钮是通过添加 HTML 代码或 JavaScript 创建的。

\n

看起来像

\n

在此输入图像描述

\n

但由于按钮都是在新的 Iframe 中创建和渲染的,因此我可以\xe2\x80\x99t 根据需要自定义按钮样式。

\n

有什么方法可以改变以前提供的按钮样式吗?

\n

以前,我用过

\n
window.gapi.load(\'auth2\', () => {\n    const auth2 = window.gapi.auth2.init(options);\n    auth2.attachClickHandler(\n      idButtonRef.current,\n      {},\n      onSuccessCallback,\n      onFailCallback,\n    );\n  });\n
Run Code Online (Sandbox Code Playgroud)\n

idButtonRef.current是按钮,我所需要的只是附加按钮和事件监听器,如上面的代码所示。所以我能够创建我想要的按钮样式。

\n

有没有办法通过谷歌用户签名的新方式来做到这一点?

\n

google-authentication reactjs google-signin

10
推荐指数
1
解决办法
6820
查看次数

如何降低这个问题的时间复杂度呢?

在经历了长期困难的编码挑战之后,有一个问题困扰着我。我思考了足够的时间,但找不到解决的方法。在这里,我在下面提供一个问题和示例。

输入

  • v :数字数组。
  • q :二维数组,嵌套数组中有 3 个元素。

描述

v是一个数组,q是一个根据其嵌套元素执行不同操作的命令。

如果嵌套数组的第一个元素1=> 嵌套数组的第二个和第三个元素成为索引并返回sum[second:third+1](如您所见,它是包含的)

如果嵌套数组的第一个元素是2=>第二个索引的元素成为第三个。与...一样v[second] = third

输入示例

  • v:[1,2,3,4,5]
  • q : [[1,2,4], [2,3,8], [1,2,4]]

例子

通过提供的示例,它就像

  1. 命令是[1,2,4]=> 第一个元素是1v[2]它应该返回从到(含)=> 12的总和v[4]
  2. 命令是[2,3,8]=> 第一个元素是2。它切换v[3]8。(现在 v 是[1,2,3,8,5]
  3. 命令是[1,2,4]=> 第一个元素是1。它应该返回总和从v[2]to v[4](含)=> 16,因为第三个索引已从上一个命令更改。

所以最终答案是[12, 16]

问题。

下面的代码是我解决的方法,但是,这是 O(n**2) 复杂度。我想知道在这种情况下如何降低时间复杂度。

我尝试创建一个哈希对象,但没有成功。在这种情况下我想不出一个好的方法来制作缓存。

function …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm time-complexity

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