加载中...
青墨书晚风

排序算法基本内容算法分类比较分类 非线性时间比较类排序:通过比较来决定元素间的相对次序, 由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。 线性时间非比较类排序:不通过比较来决定元素间的相对次序, 它可以突破基于比
我是文章在轮播图中的摘要
听一听看一看,魔法的世界是什么样的呢
本站基本介绍,页面选项功能
本站基本介绍,主要配置项
环境配置系统:Ubuntu系统编辑器:PycharmPython版本:python3.6(自带celery4.3.0)第三方包依赖: django3.0.8 本文简介这篇文章主要介绍了celery4+django3定时任务的实现, 用于定时
#Django–自定义 Command 命令Django 对于命令的添加有一套规范,你可以为每个app 指定命令。 通俗一点讲,比如在使用manage.py文件执行命令的时候,可以自定制自己的命令,来实现命令的扩充。 ##commands的
剑指 Offer II 005-单词长度的最大乘积
原文链接: https://leetcode-cn.com/problems/aseY1I 中文题目给定一个字符串数组 words,请计算当两个字符串 words[i] 和 words[j] 不包含相同字符时,它们长度的乘积的最大值。假设字符串中只包含英语的小写字母。如果没有不包含相同字符的一对字符串,返回 0。 示例 1: 输入: words = ["abcw","baz","foo","bar","fxyz","abcdef"] 输出: 16 解释: 这两个单词为 "abcw", "fxyz…
2021-12-03
剑指 Offer II 006-排序数组中两个数字之和
原文链接: https://leetcode-cn.com/problems/kLl5u1 中文题目给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。 函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 0 开始计数 ,所以答案数组应当满足 0 <= answer[0] < answer[1] < numbers.length 。 假设数组中存在且只存在一对符合条件的数字,同时一个数字不能使用…
2021-12-03
剑指 Offer II 007-数组中和为 0 的三个数
原文链接: https://leetcode-cn.com/problems/1fGaJU 中文题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a ,b ,c ,使得 a + b + c = 0 ?请找出所有和为 0 且 不重复 的三元组。 示例 1: 输入:nums = [-1,0,1,2,-1,-4] 输出:[[-1,-1,2],[-1,0,1]] 示例 2: 输入:nums = [] 输出:[] 示例 3: 输入:nums = [0] 输出:[] 提示: …
2021-12-03
剑指 Offer II 085-生成匹配的括号
原文链接: https://leetcode-cn.com/problems/IDBivT 中文题目正整数 n 代表生成括号的对数,请设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n = 3 输出:["((()))","(()())","(())()","()(())","()()()"] 示例 2: 输入:n = 1 输出:["()"] 提示: 1 <= n <= 8 注意:本题与主站 22 题相同: https://leetcode-cn.com/probl…
2021-12-03
剑指 Offer II 086-分割回文子字符串
原文链接: https://leetcode-cn.com/problems/M99OJA 中文题目给定一个字符串 s ,请将 s 分割成一些子串,使每个子串都是 回文串 ,返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 1: 输入:s = "google" 输出:[["g","o","o","g","l","e"],["g","oo","g","l","e"],["goog","l","e"]] 示例 2: 输入:s = "aab" 输出:[["a","a","…
2021-12-03
剑指 Offer II 087-复原 IP
原文链接: https://leetcode-cn.com/problems/0on3uN 中文题目给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能从 s 获得的 有效 IP 地址 。你可以按任何顺序返回答案。 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245"、"192.168.…
2021-12-03
剑指 Offer II 008-和大于等于 target 的最短子数组
原文链接: https://leetcode-cn.com/problems/2VG8Kg 中文题目给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 &ge; target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1: 输入:target = 7, nums = [2,3,1,2,4,3] 输出:2 解释:子数组 [4,3] 是该条件下…
2021-12-03
剑指 Offer II 088-爬楼梯的最少成本
原文链接: https://leetcode-cn.com/problems/GzCJIP 中文题目数组的每个下标作为一个阶梯,第 i 个阶梯对应着一个非负数的体力花费值 cost[i](下标从 0 开始)。 每当爬上一个阶梯都要花费对应的体力值,一旦支付了相应的体力值,就可以选择向上爬一个阶梯或者爬两个阶梯。 请找出达到楼层顶部的最低花费。在开始时,你可以选择从下标为 0 或 1 的元素作为初始阶梯。 示例 1: 输入:cost = [10, 15, 20] 输出:15 解释:最低花费是从 c…
2021-12-03
剑指 Offer II 009-乘积小于 K 的子数组
原文链接: https://leetcode-cn.com/problems/ZVAVXX 中文题目给定一个正整数数组 nums和整数 k ,请找出该数组内乘积小于 k 的连续的子数组的个数。 示例 1: 输入: nums = [10,5,2,6], k = 100 输出: 8 解释: 8 个乘积小于 100 的子数组分别为: [10], [5], [2], [6], [10,5], [5,2], [2,6], [5,2,6]。 需要注意的是 [10,5,2] 并不是乘积小于100的子数组。 示…
2021-12-03
剑指 Offer II 089-房屋偷盗
原文链接: https://leetcode-cn.com/problems/Gu0c2T 中文题目一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响小偷偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组 nums ,请计算 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 示例 1: 输入:nums = [1,2,3,1] 输出:4 解释:偷窃 1 号房屋 (金额 …
2021-12-03
剑指 Offer II 012-左右两边子数组的和相等
原文链接: https://leetcode-cn.com/problems/tvdfij 中文题目给你一个整数数组 nums ,请计算数组的 中心下标 。 数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。 如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。 如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1 。 示例 1: 输入:nums = [1…
2021-12-03
剑指 Offer II 011-0 和 1 个数相同的子数组
原文链接: https://leetcode-cn.com/problems/A1NYOS 中文题目给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。 示例 1: 输入: nums = [0,1] 输出: 2 说明: [0, 1] 是具有相同数量 0 和 1 的最长连续子数组。 示例 2: 输入: nums = [0,1,0] 输出: 2 说明: [0, 1] (或 [1, 0]) 是具有相同数量 0 和 1 的最长连续子数组。 提示: 1…
2021-12-03
剑指 Offer II 013-二维子矩阵的和
原文链接: https://leetcode-cn.com/problems/O4NDxx 中文题目给定一个二维矩阵 matrix,以下类型的多个请求: 计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2) 。 实现 NumMatrix 类: NumMatrix(int[][] matrix) 给定整数矩阵 matrix 进行初始化 int sumRegion(int row1, int col1, int row2, int col2…
2021-12-03
剑指 Offer II 014-字符串中的变位词
原文链接: https://leetcode-cn.com/problems/MPnaiL 中文题目给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的某个变位词。 换句话说,第一个字符串的排列之一是第二个字符串的 子串 。 示例 1: 输入: s1 = "ab" s2 = "eidbaooo" 输出: True 解释: s2 包含 s1 的排列之一 ("ba"). 示例 2: 输入: s1= "ab" s2 = "eidboaoo" 输出: False 提示: 1 <= …
2021-12-03
剑指 Offer II 015-字符串中的所有变位词
原文链接: https://leetcode-cn.com/problems/VabMRr 中文题目给定两个字符串 s 和 p,找到 s 中所有 p 的 变位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 变位词 指字母相同,但排列不同的字符串。 示例 1: 输入: s = "cbaebabacd", p = "abc" 输出: [0,6] 解释: 起始索引等于 0 的子串是 "cba", 它是 "abc" 的变位词。 起始索引等于 6 的子串是 "bac", 它是 "abc" 的变…
2021-12-03
剑指 Offer II 016-不含重复字符的最长子字符串
原文链接: https://leetcode-cn.com/problems/wtcaE1 中文题目给定一个字符串 s ,请你找出其中不含有重复字符的 最长连续子字符串 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子字符串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子字符串是 "b",所以其长度为 1。 示例 3: 输入: s = "pwwkew" 输出: 3 解释…
2021-12-03
剑指 Offer II 017-含有所有字符的最短字符串
原文链接: https://leetcode-cn.com/problems/M1oyTv 中文题目给定两个字符串 s 和 t 。返回 s 中包含 t 的所有字符的最短子字符串。如果 s 中不存在符合条件的子字符串,则返回空字符串 "" 。 如果 s 中存在多个符合条件的子字符串,返回任意一个。 注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。 示例 1: 输入:s = "ADOBECODEBANC", t = "ABC" 输出:"BANC" 解释:最短…
2021-12-03
剑指 Offer II 018-有效的回文
原文链接: https://leetcode-cn.com/problems/XltzEq 中文题目给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。 本题中,将空字符串定义为有效的 回文串 。 示例 1: 输入: s = "A man, a plan, a canal: Panama" 输出: true 解释:"amanaplanacanalpanama" 是回文串 示例 2: 输入: s = "race a car" 输出: false 解释:"r…
2021-12-03
剑指 Offer II 019-最多删除一个字符得到回文
原文链接: https://leetcode-cn.com/problems/RQku0D 中文题目给定一个非空字符串 s,请判断如果 最多 从字符串中删除一个字符能否得到一个回文字符串。 示例 1: 输入: s = "aba" 输出: true 示例 2: 输入: s = "abca" 输出: true 解释: 可以删除 "c" 字符 或者 "b" 字符 示例 3: 输入: s = "abc" 输出: false 提示: 1 <= s.length <= 105 s 由小写英文字母组成 注意:…
2021-12-03
剑指 Offer II 020-回文子字符串的个数
原文链接: https://leetcode-cn.com/problems/a7VOhD 中文题目给定一个字符串 s ,请计算这个字符串中有多少个回文子字符串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。 示例 1: 输入:s = "abc" 输出:3 解释:三个回文子串: "a", "b", "c" 示例 2: 输入:s = "aaa" 输出:6 解释:6个回文子串: "a", "a", "a", "aa", "aa", "aaa" 提示: 1 <= s…
2021-12-03
剑指 Offer II 023-两个链表的第一个重合节点
原文链接: https://leetcode-cn.com/problems/3u1WK4 中文题目给定两个单链表的头节点 headA 和 headB ,请找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后,链表必须 保持其原始结构 。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,…
2021-12-03
剑指 Offer II 022-链表中环的入口节点
原文链接: https://leetcode-cn.com/problems/c32eOV 中文题目给定一个链表,返回链表开始入环的第一个节点。 从链表的头节点开始沿着 next 指针进入环的第一个节点为环的入口节点。如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。 说明:不允许修改给定的链表。 示例 …
2021-12-03
剑指 Offer II 024-反转链表
原文链接: https://leetcode-cn.com/problems/UHnkqh 中文题目给定单链表的头节点 head ,请反转链表,并返回反转后的链表的头节点。 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例 3: 输入:head = [] 输出:[] 提示: 链表中节点的数目范围是 [0, 5000] -5000 <= Node.val <= 5000 进阶:链表可以选用迭代或…
2021-12-03
剑指 Offer II 025-链表中的两数相加
原文链接: https://leetcode-cn.com/problems/lMSNwu 中文题目给定两个 非空链表 l1和 l2 来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例1: 输入:l1 = [7,2,4,3], l2 = [5,6,4] 输出:[7,8,0,7] 示例2: 输入:l1 = [2,4,3], l2 = [5,6,4] 输出:[8,0,7] 示例3…
2021-12-03
剑指 Offer II 026-重排链表
原文链接: https://leetcode-cn.com/problems/LGjMqU 中文题目给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 &rarr; L1 &rarr; &hellip; &rarr; Ln-1 &rarr; Ln 请将其重新排列后变为: L0 &rarr; Ln &rarr; L1 &rarr; Ln-1 &rarr; L2 &rarr; Ln-2 &rarr; &hellip; 不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示…
2021-12-03
剑指 Offer II 027-回文链表
原文链接: https://leetcode-cn.com/problems/aMhZSa 中文题目给定一个链表的 头节点 head ,请判断其是否为回文链表。 如果一个链表是回文,那么链表节点序列从前往后看和从后往前看是相同的。 示例 1: 输入: head = [1,2,3,3,2,1] 输出: true 示例 2: 输入: head = [1,2] 输出: false 提示: 链表 L 的长度范围为 [1, 105] 0 <= node.val <= 9 进阶:能否用 O(n) 时间复杂度…
2021-12-03
剑指 Offer II 028-展平多级双向链表
原文链接: https://leetcode-cn.com/problems/Qv1Da2 中文题目多级双向链表中,除了指向下一个节点和前一个节点指针之外,它还有一个子链表指针,可能指向单独的双向链表。这些子列表也可能会有一个或多个自己的子项,依此类推,生成多级数据结构,如下面的示例所示。 给定位于列表第一级的头节点,请扁平化列表,即将这样的多级双向链表展平成普通的双向链表,使所有结点出现在单级双链表中。 示例 1: 输入:head = [1,2,3,4,5,6,null,null,null,7…
2021-12-03
剑指 Offer II 029-排序的循环链表
原文链接: https://leetcode-cn.com/problems/4ueAj6 中文题目给定循环单调非递减列表中的一个点,写一个函数向这个列表中插入一个新元素 insertVal ,使这个列表仍然是循环升序的。 给定的可以是这个列表中任意一个顶点的指针,并不一定是这个列表中最小元素的指针。 如果有多个满足条件的插入位置,可以选择任意一个位置插入新的值,插入后整个列表仍然保持有序。 如果列表为空(给定的节点是 null),需要创建一个循环有序列表并返回这个节点。否则。请返回原先给定的节…
2021-12-03
剑指 Offer II 090-环形房屋偷盗
原文链接: https://leetcode-cn.com/problems/PzWKhm 中文题目一个专业的小偷,计划偷窃一个环形街道上沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。 给定一个代表每个房屋存放金额的非负整数数组 nums ,请计算 在不触动警报装置的情况下 ,今晚能够偷窃到的最高金额。 示例 1: 输入:nums…
2021-12-03
剑指 Offer II 030-插入、删除和随机访问都是 O(1) 的容器
原文链接: https://leetcode-cn.com/problems/FortPu 中文题目设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构: insert(val):当元素 val 不存在时返回 true ,并向集合中插入该项,否则返回 false 。 remove(val):当元素 val 存在时返回 true ,并从集合中移除该项,否则返回 false 。 getRandom:随机返回现有集合中的一项。每个元素应该有 相同的概率 被返回。 示例 : 输入: in…
2021-12-03