合并区间
合并区间
题目:
https://leetcode-cn.com/problems/merge-intervals/
思路:
一开始思路想的是,根据每一个区间的left排序后,然后比较每一个数,再向前更新,然后写了半天,一直WA,感觉这个思路不太行了
代码:
先贴上错误的代码:
https://leetcode-cn.com/problems/merge-intervals/
一开始思路想的是,根据每一个区间的left排序后,然后比较每一个数,再向前更新,然后写了半天,一直WA,感觉这个思路不太行了
先贴上错误的代码:
TfidfTransformer() 输入:词频TF 输出:词频逆反文档频率TF-IDF(即词频TF与逆反文档频率IDF的乘积,IDF的标准计算公式为 :idf=log[n/(1+df)],其中n为文档总数,df为含有所计算单词的文档数量,df越小,idf值越大,也就是说出现频率越小的单词意义越大)
参考: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/
也是利用双指针,一个指针用于遍历数组元素,一个指针指向要拷贝赋值的索引位置