合并区间
合并区间
题目:
https://leetcode-cn.com/problems/merge-intervals/
思路:
一开始思路想的是,根据每一个区间的left排序后,然后比较每一个数,再向前更新,然后写了半天,一直WA,感觉这个思路不太行了
代码:
先贴上错误的代码:
https://leetcode-cn.com/problems/merge-intervals/
一开始思路想的是,根据每一个区间的left排序后,然后比较每一个数,再向前更新,然后写了半天,一直WA,感觉这个思路不太行了
先贴上错误的代码:
参考:https://www.cnblogs.com/pinard/p/6251584.html
首先回顾特征值与特征向量\(Ax=\lambda x\)
\(\lambda\) 是矩阵A的一个特征值,x是矩阵A的特征值\(\lambda\)对应的特征向量。
https://leetcode-cn.com/problems/3sum/solution/
第一眼看就想到了用双指针,注意重复数值的处理问题,算是一个滑动窗口问题
class Solution:
def threeSum(self, nums: List[int]) -> List[List[int]]:
= []
res
if len(nums) < 3:
return []
nums.sort()
for i, num in enumerate(nums):
if num > 0:
return res
if i > 0 and nums[i] == nums[i-1]:
continue
= i+1, len(nums) - 1
left, right
while left < right:
= nums[i] + nums[left] + nums[right]
temp
if temp == 0:
res.append([nums[i], nums[left], nums[right]])
while left < right and nums[right-1] == nums[right]:
-= 1
right
while left < right and nums[left+1] == nums[left]:
+= 1
left
+= 1
left
-= 1
right
if temp > 0:
-=1
right
if temp < 0:
+= 1
left
return res
了解什么是ROC曲线和AUC之前,要先了解什么是混淆矩阵。
混淆矩阵中有着Positive、Negative、True、False的概念,其意义如下:
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/
双指针,定义 nums[0...i] 为为非重复数列,遍历整个数列不断的维护这个定义
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
= 0
start for i in range(len(nums)):
if nums[i] != nums[start]:
+= 1
start = nums[start],nums[i]
nums[i],nums[start] return start + 1
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array-ii/
也是利用双指针,一个指针用于遍历数组元素,一个指针指向要拷贝赋值的索引位置
import threading
import time
def spider():
#.....
0.02)
time.sleep(def main1():
for i in range(100):
spider()def main2():
= []
thread_list for i in range(100):
= threading.Thread(target = spider)
thread
thread.start()
thread_list.append(thread)for t in thread_list:
t.join()if __name__ == "__main__":
= time.time()
start
main1()= time.time()
end print("time1 :{:.4f}".format(end-start))
= time.time()
start
main2()= time.time()
end print("time2 :{:4f}".format(end-start))
time1 :2.0523
time2 :0.037929
def fib(n):
= 0,1
a,b while b<n:
= b,a+b
a,b yield a
print(fib(100))
for i in fib(100):
print(i)
<generator object fib at 0x000002B1A7AA1E60>
1
1
2
3
5
8
13
21
34
55
89
GEN_CREATED 创建完成,等待执行 GEN_RUNNING 解释器正在执行 GEN_SUSPENDED 在 yield 表达式处暂停 GEN_CLOSE 执行结束,生成器停止
还是以前刷过的题 https://leetcode-cn.com/problems/remove-element/
以前的思路早忘了 然后我重新做了一下,一开始就一行代码
class Solution:
def removeElement(self, nums: List[int], val: int) -> int:
return len(list(filter(lambda x:x!=val,nums)))
然后发现输出和正确输出不一样。于是看了了下面的提示,然后改了改
参考:https://blog.csdn.net/asialee_bird/article/details/96894533
TextRank算法是一种基于图的用于关键词抽取和文档摘要的排序算法,由谷歌的网页重要性排序算法PageRank算法改进而来,它利用一篇文档内部的词语间的共现信息(语义)便可以抽取关键词,它能够从一个给定的文本中抽取出该文本的关键词、关键词组,并使用抽取式的自动文摘方法抽取出该文本的关键句。