algorithm - 计算不同对的数量,使得 i
我正在努力及时解决这个问题O(n log n)
。给定一个 sorted array A
,我如何确定具有要求的不同对的数量并且i < j
是不同的数字?A[i]
A[j]
一个例子是A = [1, 2, 3, 3]
问题描述
我正在努力及时解决这个问题O(n log n)
。给定一个 sorted array A
,我如何确定具有要求的不同对的数量并且i < j
是不同的数字?A[i]
A[j]
一个例子是A = [1, 2, 3, 3]
,不同的对将(1,2), (1,3), (2,3)
返回3
。
从 Pynput 导入键盘导致 exe 立即关闭
编辑:原来问题是程序崩溃,与输入被忽略无关
所以我想使用 pynput 中的键盘,但是当我这样做时,在那之后的任何代码都无法阻止应用程序退出。我知道阻止应用程序退出的一种简单方法是启动输入提示,但是在我导入键盘后这不起作用。
此外,此问题仅在使用 pyinstaller 构建 exe 并运行应用程序后才会发生。如果我只是双击 .py 文件本身,一切正常,但我希望 exe 实际运行正常。
这是一个非常简短的代码片段,用于显示有效和无效之间的确切区别
input("This input actually works in an EXE")
from pynput import keyboard
input("This input instantly closes in an EXE preventing me from actually using anything from keyboard")
解决方案
从左到右扫描数组以查找唯一元素计数
if (A[i] != A[i-1])
uniq_count++
请注意,时间是线性的O(n)
对于唯一元素的M
数量,对的数量是
M*(M-1)/2
为什么?第一个元素M-1
与下一个元素形成对。第二个形成M-2
对(一个已经算过),依此类推。结果是算术级数的总和。
推荐阅读
- php - 如何使用 php 在 google 我的业务页面上创建本地帖子
- c# - 使用Newtonsoft JsonConvert对简单类进行序列化和反序列化
- python - 滚动条在 pyside2 中隐藏我的 Qframe 小部件
- django - DRF:如何验证嵌套序列化程序的字段?
- php - Laravel/Lumen 将时间戳转换为 int
- android - 在 ViewModel 中未调用 Transformations.switchMap 函数
- css - ITCSS - 放置特定于页面的类
- android - 您好,我想使用 000webhost 使我的应用程序在线,但出现错误。下面是我的代码
- html - 在 Netflix、w3schools 等网站中,位置是如何从相对动态/编程方式更改为固定的?
- javascript - 如何删除最初显示的 innerHTML 值
我正在努力及时解决这个问题O(n log n)
。给定一个 sorted array A
,我如何确定具有要求的不同对的数量并且i < j
是不同的数字?A[i]
A[j]
一个例子是A = [1, 2, 3, 3]
问题描述
我正在努力及时解决这个问题O(n log n)
。给定一个 sorted array A
,我如何确定具有要求的不同对的数量并且i < j
是不同的数字?A[i]
A[j]
一个例子是A = [1, 2, 3, 3]
,不同的对将(1,2), (1,3), (2,3)
返回3
。
从 Pynput 导入键盘导致 exe 立即关闭
编辑:原来问题是程序崩溃,与输入被忽略无关
所以我想使用 pynput 中的键盘,但是当我这样做时,在那之后的任何代码都无法阻止应用程序退出。我知道阻止应用程序退出的一种简单方法是启动输入提示,但是在我导入键盘后这不起作用。
此外,此问题仅在使用 pyinstaller 构建 exe 并运行应用程序后才会发生。如果我只是双击 .py 文件本身,一切正常,但我希望 exe 实际运行正常。
这是一个非常简短的代码片段,用于显示有效和无效之间的确切区别
input("This input actually works in an EXE")
from pynput import keyboard
input("This input instantly closes in an EXE preventing me from actually using anything from keyboard")
解决方案
从左到右扫描数组以查找唯一元素计数
if (A[i] != A[i-1])
uniq_count++
请注意,时间是线性的O(n)
对于唯一元素的M
数量,对的数量是
M*(M-1)/2
为什么?第一个元素M-1
与下一个元素形成对。第二个形成M-2
对(一个已经算过),依此类推。结果是算术级数的总和。
推荐阅读
- php - 如何使用 php 在 google 我的业务页面上创建本地帖子
- c# - 使用Newtonsoft JsonConvert对简单类进行序列化和反序列化
- python - 滚动条在 pyside2 中隐藏我的 Qframe 小部件
- django - DRF:如何验证嵌套序列化程序的字段?
- php - Laravel/Lumen 将时间戳转换为 int
- android - 在 ViewModel 中未调用 Transformations.switchMap 函数
- css - ITCSS - 放置特定于页面的类
- android - 您好,我想使用 000webhost 使我的应用程序在线,但出现错误。下面是我的代码
- html - 在 Netflix、w3schools 等网站中,位置是如何从相对动态/编程方式更改为固定的?
- javascript - 如何删除最初显示的 innerHTML 值