![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 68
eilot_c
这个作者很懒,什么都没留下…
展开
-
leetcode986. 区间列表的交集
给定两个由一些闭区间组成的列表,每个区间列表都是成对不相交的,并且已经排序。返回这两个区间列表的交集。(形式上,闭区间[a, b](其中a <= b)表示实数x的集合,而a <= x <= b。两个闭区间的交集是一组实数,要么为空集,要么为闭区间。例如,[1, 3] 和 [2, 4] 的交集为 [2, 3]。)示例:输入:A = [[0,2],[5,10],[13,23],[24,25]], B = [[1,5],[8,12],[15,24],[2...原创 2020-10-05 13:06:47 · 212 阅读 · 0 评论 -
leetcode692. 前K个高频单词
给一非空的单词列表,返回前k个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。示例 1:输入: ["i", "love", "leetcode", "i", "love", "coding"], k = 2输出: ["i", "love"]解析: "i" 和 "love" 为出现次数最多的两个单词,均为2次。 注意,按字母顺序 "i" 在 "love" 之前。示例 2:输入: ["the", "day...原创 2020-07-30 16:26:48 · 226 阅读 · 1 评论 -
leetcode347. 前 K 个高频元素
给定一个非空的整数数组,返回其中出现频率前k高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]提示:你可以假设给定的k总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。 你的算法的时间复杂度必须优于 O(nlogn) ,n是数组的大小。 题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一的。 你可以按...原创 2020-07-30 15:29:00 · 186 阅读 · 0 评论 -
leetcode98. 验证二叉搜索树
给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。示例1:输入: 2 / \ 1 3输出: true示例2:输入: 5 / \ 1 4 / \ 3 6输出: false解释: 输入为: [5,1,4,null,null,3,6]。 根节点的值为...原创 2020-07-28 21:02:27 · 106 阅读 · 0 评论 -
leetcode.面试题68 - I. 二叉搜索树的最近公共祖先
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root =[6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8输出: 6 ...原创 2020-07-28 20:06:54 · 91 阅读 · 0 评论 -
leetcode.525. 连续数组
给定一个二进制数组, 找到含有相同数量的 0 和 1 的最长连续子数组(的长度)。示例 1:输入: [0,1]输出: 2说明: [0, 1] 是具有相同数量0和1的最长连续子数组。示例 2:输入: [0,1,0] 输出: 2 说明: [0, 1] (或 [1, 0]) 是具有相同数量0和1的最长连续子数组。注意:给定的二进制数组的长度不会超过50000。当长度大于10000的时候就不适合用复杂度为o(n^2)c++class Solution {public: .原创 2020-07-23 21:21:51 · 281 阅读 · 0 评论 -
leetcode101. 对称二叉树
给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3]是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3]则不是镜像对称的: 1 / \ 2 2 \ \ 3 3进阶:你可以运用递归和迭代两种方法解决这个问题吗?对称二叉树的左子树的前序遍历等于右子树的后序遍历的逆# Definition f...原创 2020-07-23 20:01:37 · 76 阅读 · 0 评论 -
leetcode965. 单值二叉树
如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回true;否则返回false。示例 1:输入:[1,1,1,1,1,null,1]输出:true示例 2:输入:[2,2,2,5,2]输出:false提示:给定树的节点数范围是[1, 100]。 每个节点的值都是整数,范围为[0, 99]。# Definition for a binary tree node.# class TreeN...原创 2020-07-23 19:25:01 · 97 阅读 · 0 评论 -
leetcode111. 二叉树的最小深度
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2.# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# ...原创 2020-07-22 00:28:47 · 92 阅读 · 0 评论 -
day46列表转为二叉树并且实现前中后遍历二叉树
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2020/7/21 23:51# @Author : caius# @Site : # @File : day46列表转化为二叉树.py# @Software: PyCharm# 已知列表nums,将其转化为二叉树。举例:## nums = [3,9,20,None,None,15,7],转化为二叉树后,节点3的左子节点9,右子节点20,9的左右子节点都为None,20的左子节点1.原创 2020-07-22 00:18:10 · 127 阅读 · 0 评论 -
leetcode645. 错误的集合
集合S包含从1到n的整数。不幸的是,因为数据错误,导致集合里面某一个元素复制了成了集合里面的另外一个元素的值,导致集合丢失了一个整数并且有一个元素重复。给定一个数组nums代表了集合S发生错误后的结果。你的任务是首先寻找到重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。示例 1:输入: nums = [1,2,2,4]输出: [2,3]注意:给定数组的长度范围是[2, 10000]。 给定的数组是无序的。通过次数17,175提交次数40,441...原创 2020-07-21 23:36:58 · 127 阅读 · 0 评论 -
leetcode769. 最多能完成排序的块
数组arr是[0, 1, ..., arr.length - 1]的一种排列,我们将这个数组分割成几个“块”,并将这些块分别进行排序。之后再连接起来,使得连接的结果和按升序排序后的原数组相同。我们最多能将数组分成多少块?示例 1:输入: arr = [4,3,2,1,0]输出: 1解释:将数组分成2块或者更多块,都无法得到所需的结果。例如,分成 [4, 3], [2, 1, 0] 的结果是 [3, 4, 0, 1, 2],这不是有序的数组。示例 2:输入: arr = [1原创 2020-07-20 00:24:27 · 121 阅读 · 0 评论 -
leetcode142. 环形链表 II
给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos是-1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node index 1解释:链表中有一个环,其尾部连接到第二个节点。示例2:输入:head = [1,2]...原创 2020-07-19 23:33:35 · 76 阅读 · 0 评论 -
leetcode141. 环形链表
给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos是-1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例2:输入:head = [1,2], pos = 0输出:true解释:链表中有一个环,其尾部连接到第一个节点。示例 3:输入:head =...原创 2020-07-19 23:08:58 · 81 阅读 · 0 评论 -
leetcode287. 寻找重复数
给定一个包含n+ 1 个整数的数组nums,其数字都在 1 到n之间(包括 1 和n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。 只能使用额外的O(1) 的空间。 时间复杂度小于O(n2) 。 数组中只有一个重复的数字,但它可能不止重复出现一次#!/usr/bin/env...原创 2020-07-19 22:10:46 · 295 阅读 · 0 评论 -
leetcode485. 最大连续1的个数
给定一个二进制数组, 计算其中最大连续1的个数。示例 1:输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.注意:输入的数组只包含0和1。 输入数组的长度是正整数,且不超过 10,000。通过次数44,050提交次数77,816在真实的面试中遇到过这道题?#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2020/7/19 21:09# @..原创 2020-07-19 21:41:41 · 194 阅读 · 0 评论 -
leetcode283.作业题把数组中的零移动到末尾
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2020/7/19 20:50# @Author : caius# @Site : # @File : day37.py# @Software:原创 2020-07-19 21:04:09 · 444 阅读 · 0 评论 -
leetcode.剑指 Offer 06. 从尾到头打印链表
剑指 Offer 06. 从尾到头打印链表难度简单36收藏分享切换为英文关注反馈输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000通过次数52,444提交次数68,914在真实的面试中遇到过这道题?是否《剑指 Offer(第 2 版)》官方授权/** * Definition for singly-li..原创 2020-07-06 16:57:19 · 177 阅读 · 0 评论 -
leetcode.面试题 02.02. 返回倒数第 k 个节点
难度简单33收藏分享切换为英文关注反馈实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。注意:本题相对原题稍作改动示例:输入: 1->2->3->4->5 和 k = 2输出: 4说明:给定的k保证是有效的。python3# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = ..原创 2020-07-06 15:26:25 · 148 阅读 · 0 评论 -
leetcode.面试题 02.07. 链表相交
面试题 02.07. 链表相交给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8原创 2020-07-06 13:59:42 · 193 阅读 · 0 评论 -
leetcode56. 合并区间
给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。class Solution {public: vector<vector<int&.原创 2020-06-28 16:19:52 · 151 阅读 · 0 评论 -
leetcode24. 两两交换链表中的节点
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3./** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val.原创 2020-06-16 12:33:19 · 126 阅读 · 0 评论 -
leetcode344. 反转字符串
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组char[]的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是ASCII码表中的可打印字符。示例 1:输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:输入:["H","a","n","n","a","h"]输出:["h","a","n","n","a"...原创 2020-06-16 11:41:53 · 151 阅读 · 0 评论 -
day18.二分查找法
二分查找算法,binary search algorithm,也称「折半搜索算法」、「对数搜索算法」它的使用前提:是一种在「有序数组」中查找某一特定元素的搜索算法。请补全下面二分查找算法:#返回hkey在数组中的索引位置defbinary_search(arr,left,right,hkey):""" arr:有序数组 left:查找区间左侧 right:查找区间右侧 hkey:带查找的关键码备注:left, right 都包括在...原创 2020-06-09 10:35:03 · 127 阅读 · 0 评论 -
leetcode15. 三数之和
给你一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c ,使得a + b + c =0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]class Solution {public: vector<vector<int>>...原创 2020-05-29 15:33:24 · 110 阅读 · 0 评论 -
leetcode1. 两数之和
给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class Solution {public: vector<int> twoSum(vector...原创 2020-05-29 14:37:34 · 142 阅读 · 0 评论 -
Day6 打卡题 leetcode.724
给定一个整数类型的数组nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入: nums = [1, 7, 3, 6, 5, 6]输出: 3解释: 索引3 (nums[3] = 6) 的左侧数之和(1 + 7 + 3 = 11),与右侧数之和(5 + 6 = 11)相等。.原创 2020-05-28 20:19:58 · 113 阅读 · 0 评论 -
leetcode66.加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。class Solution {public: vector<int> plusO..原创 2020-05-27 18:06:46 · 110 阅读 · 0 评论 -
leetcode80. 删除排序数组中的重复项 II
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定 nums = [1,1,1,2,2,3],函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3 。你不需要考虑数组中超出新长度后面的元素。示例2:给定 nums = [0,0,1,1,1,1,2,3,3],函数应返回新长..原创 2020-05-24 15:01:17 · 167 阅读 · 0 评论 -
leetcode26.删除排序数组中的重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 12你不需要考虑数组中超出新长度后面的元素。示例2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, 并且原数组...原创 2020-05-24 14:35:00 · 93 阅读 · 0 评论 -
leetcode27.移除元素
给你一个数组 nums和一个值 val,你需要 原地 移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。示例2:给定 nums = [0,1,2,2,3...原创 2020-05-24 14:09:16 · 110 阅读 · 0 评论 -
opencv抠图并对roi区域操作生成新的图片
这里面先使用opencv自带的图片进行与操作bitwise_and,就可以得到抠出来的roi区域,然后对mask区域取反bitwise_not,在与原图片相与得到背景图片。接下来就可以对抠出来的图片进行一系列操作,这里面我做的是减去一个均值。最后将修改后的roi区域,以及背景图相加就可以得到新的融合后的图片。#!/usr/bin/env python# -*- coding: utf-8...原创 2020-04-24 13:56:29 · 1640 阅读 · 0 评论 -
python 常用的函数
CounterCounter是⼀个计数器,它可以帮助我们针对某项数据进⾏计数。⽐如它可以⽤来计算每个⼈喜欢多少种颜⾊:from collections import Countercolours = (('Yasoob', 'Yellow'),('Ali', 'Blue'),('Arham', 'Green'),('Ali', 'Black'),('Yasoob', 'Red'...原创 2019-12-26 18:37:45 · 115 阅读 · 0 评论 -
pytorch 保存模型和加载模型
def save_model(save_dir, phase, name, epoch, f1score, model): if not os.path.exists(save_dir): os.mkdir(save_dir) save_dir = os.path.join(save_dir, args.model) if not os.path.exis...原创 2019-11-28 14:58:21 · 812 阅读 · 0 评论 -
Python:logging模块
In [12]: import logging ...: ...: logging.basicConfig(level=logging.DEBUG, ...: filename='output.log', ...: datefmt='%Y/%m/%d %H:%M:%S', ....原创 2019-11-04 13:16:08 · 153 阅读 · 0 评论