在一次采访中,我被问到这个问题:给定一些正整数s,找到最长子阵列的长度,使其所有值的总和小于或等于某个正整数k.每个输入始终至少有一个解决方案.该数组不是圆形的.
我开始编写动态编程解决方案,通过在0到k的越来越大的值中找到最大长度来工作.
这是我在python中的代码,里面有一个我似乎无法找到的错误,我的答案总是偏离几位数:
def maxLength(s, k):
lengths = [0 for x in range(k)]
for i in range(1,k+1):
for j in range(len(s)):
if s[j] <= i and lengths[i - s[j]] + 1 > lengths[i]:
lengths[i] = lengths[i - s[j]] + 1
if i + 1 == len(s):
break
return lengths[-1]
Run Code Online (Sandbox Code Playgroud)
输入1:s = [1,2,3], k = 4
输出1: 2
输入2: s=[3,1,2,1], k = 4
输出2: 3
我想根据每行语音的内容将视频脚本分割成章节。脚本将用于为每一章生成一系列开始和结束时间戳。这类似于 YouTube 现在“自动章节”视频的方式。
.srt 转录本示例:
...
70
00:02:53,640 --> 00:02:54,760
All right, coming in at number five,
71
00:02:54,760 --> 00:02:57,640
we have another habit that saves me around 15 minutes a day
...
Run Code Online (Sandbox Code Playgroud)
我在使用 ChatGPT 时运气不佳,因为它发现很难按主题进行分段并准确地重新收集开始和结束时间戳。我现在正在探索是否还有其他选择可以做到这一点。
我知道一些 python 库可以实现基于时间序列的主题建模。我还阅读了有关文本平铺作为另一种选择的内容。有哪些选择可以实现这样的结果?
注意:上面的格式 (.srt) 不是必需的。这只是输入是带有开始和结束时间戳的文本内容列表的想法。
python nlp machine-learning openai-api automatic-speech-recognition
我在python中尝试第二个Project Euler问题,并想了解为什么我的代码不起作用.
该代码找到了甚至斐波纳契数低于400万的总和
counter = 2
total = 0
while counter <= 4000000:
if counter % 2 == 0:
total+= counter
counter+= (counter -1)
print total
Run Code Online (Sandbox Code Playgroud)
此代码将输出:2
如果我打印计数器,则输出:4194305
我假设正在执行if语句是一个问题,因为while循环正常运行并且计数器也正确递增.
我在Haskell中创建一个递归的合并排序函数.作为评估的一部分,我被告知必须将类型定义为:
isort :: Ord a => [a] -> [a]
Run Code Online (Sandbox Code Playgroud)
我假设函数需要一个数组作为输入并输出一个数组.我知道那ord是一堂课.
在上面的上下文中是什么Ord a意思?
这是我的功能:
isort :: Ord a => [a] -> [a]
isort [x] = [x]
isort (x:xs) = insert x (isort xs)
where
insert :: Int -> [Int] -> [Int]
insert a [] = []
insert a (b:c) | a < b = a:b:c
| otherwise = b : insert a c
Run Code Online (Sandbox Code Playgroud)
当我尝试将我的函数文件加载到ghci时,我收到错误:
Couldn't match type ‘a’ with ‘Int’
‘a’ is a rigid type variable bound …Run Code Online (Sandbox Code Playgroud) python ×3
algorithm ×1
automatic-speech-recognition ×1
fibonacci ×1
haskell ×1
if-statement ×1
math ×1
nlp ×1
openai-api ×1
types ×1