加载中...
青墨书晚风

排序算法基本内容算法分类比较分类 非线性时间比较类排序:通过比较来决定元素间的相对次序, 由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。 线性时间非比较类排序:不通过比较来决定元素间的相对次序, 它可以突破基于比
我是文章在轮播图中的摘要
听一听看一看,魔法的世界是什么样的呢
本站基本介绍,页面选项功能
本站基本介绍,主要配置项
环境配置系统:Ubuntu系统编辑器:PycharmPython版本:python3.6(自带celery4.3.0)第三方包依赖: django3.0.8 本文简介这篇文章主要介绍了celery4+django3定时任务的实现, 用于定时
#Django–自定义 Command 命令Django 对于命令的添加有一套规范,你可以为每个app 指定命令。 通俗一点讲,比如在使用manage.py文件执行命令的时候,可以自定制自己的命令,来实现命令的扩充。 ##commands的
剑指 Offer II 092-翻转字符
原文链接: https://leetcode-cn.com/problems/cyJERH 中文题目如果一个由 '0' 和 '1' 组成的字符串,是以一些 '0'(可能没有 '0')后面跟着一些 '1'(也可能没有 '1')的形式组成的,那么该字符串是 单调递增 的。 我们给出一个由字符 '0' 和 '1' 组成的字符串 s,我们可以将任何 '0' 翻转为 '1' 或者将 '1' 翻转为 '0'。 返回使 s 单调递增 的最小翻转次数。 示例 1: 输入:s = "00110" 输出:1 解释:…
2021-12-03
剑指 Offer II 031-最近最少使用缓存
原文链接: https://leetcode-cn.com/problems/OrIXps 中文题目 运用所掌握的数据结构,设计和实现一个 LRU (Least Recently Used,最近最少使用) 缓存机制 。 实现 LRUCache 类: LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。 void put(int key, in…
2021-12-03
剑指 Offer II 093-最长斐波那契数列
原文链接: https://leetcode-cn.com/problems/Q91FMA 中文题目如果序列 X_1, X_2, ..., X_n 满足下列条件,就说它是 斐波那契式 的: n >= 3 对于所有 i + 2 <= n,都有 X_i + X_{i+1} = X_{i+2} 给定一个严格递增的正整数数组形成序列 arr ,找到 arr 中最长的斐波那契式的子序列的长度。如果一个不存在,返回 0 。 (回想一下,子序列是从原序列 arr 中派生出来的,它从 arr 中删掉任意数量的元…
2021-12-03
剑指 Offer II 094-最少回文分割
原文链接: https://leetcode-cn.com/problems/omKAoA 中文题目给定一个字符串 s,请将 s 分割成一些子串,使每个子串都是回文串。 返回符合要求的 最少分割次数 。 示例 1: 输入:s = "aab" 输出:1 解释:只需一次分割就可将 s 分割成 ["aa","b"] 这样两个回文子串。 示例 2: 输入:s = "a" 输出:0 示例 3: 输入:s = "ab" 输出:1 提示: 1 <= s.length <= 2000 s 仅由小写英文字母组成 …
2021-12-03
剑指 Offer II 032-有效的变位词
原文链接: https://leetcode-cn.com/problems/dKk3P7 中文题目给定两个字符串 s 和 t ,编写一个函数来判断它们是不是一组变位词(字母异位词)。 注意:若 s 和 t 中每个字符出现的次数都相同且字符顺序不完全相同,则称 s 和 t 互为变位词(字母异位词)。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "car" 输出: false 示例 3: 输入: …
2021-12-03
剑指 Offer II 095-最长公共子序列
原文链接: https://leetcode-cn.com/problems/qJnOS7 中文题目给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。 两个字符串的 公共子序列 是…
2021-12-03
剑指 Offer II 033-变位词组
原文链接: https://leetcode-cn.com/problems/sfvd7V 中文题目给定一个字符串数组 strs ,将 变位词 组合在一起。 可以按任意顺序返回结果列表。 注意:若两个字符串中每个字符出现的次数都相同,则称它们互为变位词。 示例 1: 输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"] 输出: [["bat"],["nat","tan"],["ate","eat","tea"]] 示例 2: 输入: strs…
2021-12-03
剑指 Offer II 034-外星语言是否排序
原文链接: https://leetcode-cn.com/problems/lwyVBB 中文题目某种外星语也使用英文小写字母,但可能顺序 order 不同。字母表的顺序(order)是一些小写字母的排列。 给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给定的单词在这种外星语中按字典序排列时,返回 true;否则,返回 false。 示例 1: 输入:words = ["hello","leetcode"], order = "hlabcdefgijkmnopq…
2021-12-03
剑指 Offer II 096-字符串交织
原文链接: https://leetcode-cn.com/problems/IY6buf 中文题目给定三个字符串 s1、s2、s3,请判断 s3 能不能由 s1 和 s2 交织(交错) 组成。 两个字符串 s 和 t 交织 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串: s = s1 + s2 + ... + sn t = t1 + t2 + ... + tm |n - m| <= 1 交织 是 s1 + t1 + s2 + t2 + s3 + t3 + ... 或者 t1…
2021-12-03
剑指 Offer II 035-最小时间差
原文链接: https://leetcode-cn.com/problems/569nqc 中文题目给定一个 24 小时制(小时:分钟 "HH:MM")的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:timePoints = ["00:00","23:59","00:00"] 输出:0 提示: 2 <= timePoints <= 2 * 104 timePoints[i]…
2021-12-03
剑指 Offer II 036-后缀表达式
原文链接: https://leetcode-cn.com/problems/8Zf90G 中文题目根据 逆波兰表示法,求该后缀表达式的计算结果。 有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 说明: 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例 1: 输入:tokens = ["2","1","+","3","*"] 输出:9 解释:该算式转化为常见的中缀算术表达式为:((2 …
2021-12-03
剑指 Offer II 097-子序列的数目
原文链接: https://leetcode-cn.com/problems/21dk04 中文题目给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。 字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE" 是 "ABCDE" 的一个子序列,而 "AEC" 不是) 题目数据保证答案符合 32 位带符号整数范围。 示例 1: 输入:s = "rabbbit", t = "rabbit" 输出:3 解释:…
2021-12-03
剑指 Offer II 037-小行星碰撞
原文链接: https://leetcode-cn.com/problems/XagZNi 中文题目给定一个整数数组 asteroids,表示在同一行的小行星。 对于数组中的每一个元素,其绝对值表示小行星的大小,正负表示小行星的移动方向(正表示向右移动,负表示向左移动)。每一颗小行星以相同的速度移动。 找出碰撞后剩下的所有小行星。碰撞规则:两个行星相互碰撞,较小的行星会爆炸。如果两颗行星大小相同,则两颗行星都会爆炸。两颗移动方向相同的行星,永远不会发生碰撞。 示例 1: 输入:asteroids…
2021-12-03
剑指 Offer II 038-每日温度
原文链接: https://leetcode-cn.com/problems/iIQa4I 中文题目请根据每日 气温 列表 temperatures ,重新生成一个列表,要求其对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入: temperatures = [73,74,75,71,69,72,76,73] 输出: [1,1,4,2,1,1,0,0] 示例 2: 输入: temperatures = [30,40…
2021-12-03
剑指 Offer II 040-矩阵中最大的矩形
原文链接: https://leetcode-cn.com/problems/PLYXKQ 中文题目给定一个由 0 和 1 组成的矩阵 matrix ,找出只包含 1 的最大矩形,并返回其面积。 注意:此题 matrix 输入格式为一维 01 字符串数组。 示例 1: 输入:matrix = ["10100","10111","11111","10010"] 输出:6 解释:最大矩形如上图所示。 示例 2: 输入:matrix = [] 输出:0 示例 3: 输入:matrix = ["0"] …
2021-12-03
剑指 Offer II 099-最小路径之和
原文链接: https://leetcode-cn.com/problems/0i0mDW 中文题目给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:一个机器人每次只能向下或者向右移动一步。 示例 1: 输入:grid = [[1,3,1],[1,5,1],[4,2,1]] 输出:7 解释:因为路径 1&rarr;3&rarr;1&rarr;1&rarr;1 的总和最小。 示例 2: 输入:grid = [[1,2,3],…
2021-12-03
剑指 Offer II 100-三角形中最小路径之和
原文链接: https://leetcode-cn.com/problems/IlPe0q 中文题目给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。 示例 1: 输入:triangle = [[2],[3,4],[6,5,7],[4,1,8,3]]…
2021-12-03
剑指 Offer II 101-分割等和子集
原文链接: https://leetcode-cn.com/problems/NUPfPr 中文题目给定一个非空的正整数数组 nums ,请判断能否将这些数字分成元素和相等的两部分。 示例 1: 输入:nums = [1,5,11,5] 输出:true 解释:nums 可以分割成 [1, 5, 5] 和 [11] 。 示例 2: 输入:nums = [1,2,3,5] 输出:false 解释:nums 不可以分为和相等的两部分 提示: 1 <= nums.length <= 200 1 <= n…
2021-12-03
剑指 Offer II 102-加减的目标值
原文链接: https://leetcode-cn.com/problems/YaVDxD 中文题目给定一个正整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 '+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums = [2, 1] ,可以在 2 之前添加 '+' ,在 1 之前添加 '-' ,然后串联起来得到表达式 "+2-1" 。 返回可以通过上述方法构造的、运算结果等于 target 的不同 表达式 的数目。 示例 1: 输入:nums…
2021-12-03
剑指 Offer II 103-最少的硬币数目
原文链接: https://leetcode-cn.com/problems/gaM7Ch 中文题目给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每种硬币的数量是无限的。 示例 1: 输入:coins = [1, 2, 5], amount = 11 输出:3 解释:11 = 5 + 5 + 1 示例 2: 输入:coins = [2], amount = 3 输出:…
2021-12-03
剑指 Offer II 104-排列的数目
原文链接: https://leetcode-cn.com/problems/D0F0SV 中文题目给定一个由 不同 正整数组成的数组 nums ,和一个目标整数 target 。请从 nums 中找出并返回总和为 target 的元素组合的个数。数组中的数字可以在一次排列中出现任意次,但是顺序不同的序列被视作不同的组合。 题目数据保证答案符合 32 位整数范围。 示例 1: 输入:nums = [1,2,3], target = 4 输出:7 解释: 所有可能的组合为: (1, 1, 1, 1…
2021-12-03
剑指 Offer II 041-滑动窗口的平均值
原文链接: https://leetcode-cn.com/problems/qIsx9U 中文题目给定一个整数数据流和一个窗口大小,根据该滑动窗口的大小,计算滑动窗口里所有数字的平均值。 实现 MovingAverage 类: MovingAverage(int size) 用窗口大小 size 初始化对象。 double next(int val) 成员函数 next 每次调用的时候都会往滑动窗口增加一个整数,请计算并返回数据流中最后 size 个值的移动平均值,即滑动窗口里所有数字的平均值…
2021-12-03
剑指 Offer II 105-岛屿的最大面积
原文链接: https://leetcode-cn.com/problems/ZL6zAn 中文题目给定一个由 0 和 1 组成的非空二维数组 grid ,用来表示海洋岛屿地图。 一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 找到给定的二维数组中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。 示例 1: 输入: grid = [[0,0,1,0,0,0,0,1,0…
2021-12-03
剑指 Offer II 042-最近请求次数
原文链接: https://leetcode-cn.com/problems/H8086Q 中文题目写一个 RecentCounter 类来计算特定时间范围内最近的请求。 请实现 RecentCounter 类: RecentCounter() 初始化计数器,请求数为 0 。 int ping(int t) 在时间 t 添加一个新请求,其中 t 表示以毫秒为单位的某个时间,并返回过去 3000 毫秒内发生的所有请求数(包括新请求)。确切地说,返回在 [t-3000, t] 内发生的请求数。 保证…
2021-12-03
剑指 Offer II 043-往完全二叉树添加节点
原文链接: https://leetcode-cn.com/problems/NaqhDT 中文题目完全二叉树是每一层(除最后一层外)都是完全填充(即,节点数达到最大,第 n 层有 2n-1 个节点)的,并且所有的节点都尽可能地集中在左侧。 设计一个用完全二叉树初始化的数据结构 CBTInserter,它支持以下几种操作: CBTInserter(TreeNode root) 使用根节点为 root 的给定树初始化该数据结构; CBTInserter.insert(int v) 向树中插入一个新…
2021-12-03
剑指 Offer II 107-矩阵中的距离
原文链接: https://leetcode-cn.com/problems/2bCMpM 中文题目给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例 1: 输入:mat = [[0,0,0],[0,1,0],[0,0,0]] 输出:[[0,0,0],[0,1,0],[0,0,0]] 示例 2: 输入:mat = [[0,0,0],[0,1,0],[1,1,1]] 输出:[[…
2021-12-03
剑指 Offer II 045-二叉树最底层最左边的值
原文链接: https://leetcode-cn.com/problems/LwUNpT 中文题目给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root = [2,1,3] 输出: 1 示例 2: 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7 提示: 二叉树的节点个数的范围是 [1,104] -231 <= Node.val <= 231 - 1 注意:本题与主站 513 …
2021-12-03
剑指 Offer II 044-二叉树每层的最大值
原文链接: https://leetcode-cn.com/problems/hPov7L 中文题目给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。 示例1: 输入: root = [1,3,2,5,3,null,9] 输出: [1,3,9] 解释: 1 / \ 3 2 / \ \ 5 3 9 示例2: 输入: root = [1,2,3] 输出: [1,3] 解释: 1 / \ 2 3 示例3: 输入: root = [1] 输出: [1] 示例4: 输入: root = …
2021-12-03
剑指 Offer II 046-二叉树的右侧视图
原文链接: https://leetcode-cn.com/problems/WNC0Lk 中文题目给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 示例 2: 输入: [1,null,3] 输出: [1,3] 示例 3: 输入: [] 输出: [] 提示: 二叉树的节点个数的范围是 [0,100] -100 <= Node.val <= 100 …
2021-12-03
剑指 Offer II 108-单词演变
原文链接: https://leetcode-cn.com/problems/om3reC 中文题目在字典(单词列表) wordList 中,从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列: 序列中第一个单词是 beginWord 。 序列中最后一个单词是 endWord 。 每次转换只能改变一个字母。 转换过程中的中间单词必须是字典 wordList 中的单词。 给定两个长度相同但内容不同的单词 beginWord 和 endWord 和一个字典 wo…
2021-12-03