ShawDa's Blog

Stay hungry!Stay foolish!
私信 关注
ShawDa
码龄4年

Github:https://github.com/ShawDa

  • 451,492
    被访问量
  • 395
    原创文章
  • 8,159
    作者排名
  • 35
    粉丝数量
  • 于 2016-11-24 加入CSDN
获得成就
  • 获得76次点赞
  • 内容获得44次评论
  • 获得302次收藏
荣誉勋章
兴趣领域
  • #后端
    #Java
TA的专栏
  • Java集合
    4篇
  • 小结
    1篇
  • LeetCode
    240篇
  • 剑指offer
    66篇
  • 各种编程题
    9篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

ArrayDeque源码解析

1、概述ArrayDeque 是 Deque 接口的变长数组实现,它没有容量限制,会根据需要来扩容。它不是线程安全的,缺乏外部的同步机制,导致它不支持多线程的并发访问。Null 对象是不许存在的,这个类很可能比 Stack 实现的栈和 LinkedList 实现的队列更快。其绝大多数操作运行在常数时间,除了一些需要线性时间执行的方法:remove、removeFirstOccurrence、removeLastOccurrence、contains、iterator.remove()和批量操作。它继承
原创
95阅读
0评论
0点赞
发布博客于 10 月前

LinkedList

1、概述LinkedList 是 List 和 Deque 接口的双向链表实现,所有实现都不是同步的,非线程安全。它的插入、删除操作比 ArrayList 更高效,随机访问的效率相比较更差。2、继承类实现接口public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serial
原创
91阅读
0评论
0点赞
发布博客于 11 月前

ArrayList源码解析

1、概述ArrayList 是 List 接口的动态可变长数组实现,它实现了 List 的所有方法并允许包括 null 在内的所有元素。为了实现这些方法,ArrayList 提供方法去操作被用来真正存储元素的数组的大小。ArrayList 类基本和 Vector 类等同,除了它不是线程安全的。每个 ArrayList 都有一个容量,它指的是用来存储元素的数组的大小,总是大于等于它的元素个数。随...
原创
76阅读
0评论
0点赞
发布博客于 1 年前

字节序

1.字节序字节序,又称端序或尾序,指的是多字节数据在内存中的存放顺序。例如一个int型变量x占用4个字节,假设它的起始地址&x为0x10,那么x将会被存储在0x10、0x11、0x12和0x13位置上。在用C++写的客户端和Java写的服务端的通信时,发现数据通过TCP连接传输后收到的与发送的不一致,所以要引入大端和小端的概念。2.大端和小端计算机有两种储存数据的方式:大端字节序...
原创
71阅读
0评论
0点赞
发布博客于 1 年前

Collection和Map

1、概念在Java当中,如果有一个类专门用来存放其它类的对象,这个类就叫做容器,也叫做集合,集合就是将若干性质相同或相近的类对象组合在一起而形成的一个整体。相较于数组,集合的容量是可以自动调节的。2、CollectionCollection 接口是 Set、Queue 和 List 的父接口:Set 代表无序、无重复的集合Queue 代表队列List 代表有序、可重复的集合...
原创
85阅读
0评论
0点赞
发布博客于 1 年前

leetcode211. 添加与搜索单词 - 数据结构设计

设计一个支持以下两种操作的数据结构:void addWord(word)bool search(word)search(word) 可以搜索文字或正则表达式字符串,字符串只包含字母 . 或 a-z 。 . 可以表示任何一个字母。参考leetcode208. 实现 Trie (前缀树):class WordDictionary: def __init__(self): ...
原创
101阅读
0评论
0点赞
发布博客于 2 年前

leetcode461. 汉明距离

两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0)class Solution: def hammingDistance(self, x: int, y: ...
原创
88阅读
0评论
0点赞
发布博客于 2 年前

leetcode210. 课程表 II

现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课程,返回一个空数组。示例 1:输入: 2, [[1,0]]输出: [0...
原创
138阅读
0评论
0点赞
发布博客于 2 年前

leetcode209. 长度最小的子数组

给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。进阶:如果你已经完成了O(n) 时间复杂度的解法, 请尝试 O(n log n) 时间复杂度的解法。...
原创
379阅读
0评论
0点赞
发布博客于 2 年前

leetcode207. 课程表

现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]]输出: true解释: 总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能的。示例 ...
原创
85阅读
0评论
0点赞
发布博客于 2 年前

leetcode205. 同构字符串

给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = “egg”, t = “add”输出: true示例 2:输入: s = “foo”, t = “bar”输出: false示...
原创
45阅读
0评论
0点赞
发布博客于 2 年前

leetcode204. 计数质数

统计所有小于非负整数 n 的质数的数量。示例:输入: 10输出: 4解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。厄拉多赛筛法,先找到不超过根号n的所有素数,再把这些素数的所有倍数去掉:class Solution: def countPrimes(self, n: int) -> int: # 厄拉多赛筛法,先找到不超过根号...
原创
167阅读
0评论
0点赞
发布博客于 2 年前

leetcode201. 数字范围按位与

给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点)。示例 1:输入: [5,7]输出: 4示例 2:输入: [0,1]输出: 0就是找m和n的二进制公共前缀:class Solution: def rangeBitwiseAnd(self, m: int, n: int)...
原创
205阅读
0评论
0点赞
发布博客于 2 年前

leetcode217. 存在重复元素

给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: trueclass Solution: def cont...
原创
62阅读
0评论
0点赞
发布博客于 2 年前

leetcode216. 组合总和III

找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。解集不能包含重复的组合。示例 1:输入: k = 3, n = 7输出: [[1,2,4]]示例 2:输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4]]典型的回溯题目,注意初始判断和剪枝:cl...
原创
81阅读
0评论
0点赞
发布博客于 2 年前

leetcode215. 数组中的第K个最大元素

在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。借助快排partition的思想:cl...
原创
103阅读
0评论
1点赞
发布博客于 2 年前

编程题:字符串的最长重复子串

https://my.oschina.net/henryking/blog/743509
原创
926阅读
0评论
0点赞
发布博客于 2 年前

leetcode200. 岛屿的个数

给定一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:11000110000010000011输出: 3对每一个为1的位置四个方向搜索,注意将搜过的地方置为0:...
原创
68阅读
0评论
0点赞
发布博客于 2 年前

leetcode199. 二叉树的右视图

给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]层序遍历:# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val =...
原创
104阅读
0评论
0点赞
发布博客于 2 年前

leetcode189. 旋转数组

给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,99] 和 k...
原创
68阅读
0评论
0点赞
发布博客于 2 年前

leetcode187. 重复的DNA序列

所有 DNA 由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。编写一个函数来查找 DNA 分子中所有出现超多一次的10个字母长的序列(子串)。示例:输入: s = “AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT”输出: [“AAAAACCCCC”, “CCCCCAAA...
原创
120阅读
0评论
0点赞
发布博客于 2 年前

leetcode172. 阶乘后的零

给定一个整数 n,返回 n! 结果尾数中零的数量。示例 1:输入: 3输出: 0解释: 3! = 6, 尾数中没有零。示例 2:输入: 5输出: 1解释: 5! = 120, 尾数中有 1 个零.说明: 你算法的时间复杂度应为 O(log n) 。最终求的是所有数中5的个数:class Solution: def trailingZeroes(self, n: int...
原创
102阅读
0评论
0点赞
发布博客于 2 年前

leetcode179. 最大数

给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。示例 1:输入: [10,2]输出: 210示例 2:输入: [3,30,34,5,9]输出: 9534330说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。最重要的是写出比较函数:class Solution: def largestNumber(self, nums: List[int]) -...
原创
248阅读
0评论
0点赞
发布博客于 2 年前

leetcode174. 地下城游戏

一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其他房间...
原创
109阅读
0评论
0点赞
发布博客于 2 年前

leetcode173. 二叉搜索树迭代器

实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。调用 next() 将返回二叉搜索树中的下一个最小的数。示例:BSTIterator iterator = new BSTIterator(root);iterator.next(); // 返回 3iterator.next(); // 返回 7iterator.hasNext(); // 返回 true...
原创
174阅读
0评论
1点赞
发布博客于 2 年前

leetcode171. Excel表列序号

给定一个Excel表格中的列名称,返回其相应的列序号。例如,A -> 1B -> 2C -> 3…Z -> 26AA -> 27AB -> 28…示例 1:输入: “A”输出: 1示例 2:输入: “AB”输出: 28示例 3:输入: “ZY”输出: 70126进制:class Solution: def titl...
原创
95阅读
0评论
0点赞
发布博客于 2 年前

leetcode169. 求众数

给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2既然总是存在就不用做再次判断了:class Solution: def majorityElement(self, nums...
原创
75阅读
0评论
0点赞
发布博客于 2 年前

leetcode168. Excel表列名称

给定一个正整数,返回它在 Excel 表中相对应的列名称。例如,1 -> A2 -> B3 -> C…26 -> Z27 -> AA28 -> AB…示例 1:输入: 1输出: “A”示例 2:输入: 28输出: “AB”示例 3:输入: 701输出: "ZY"26进制,注意是从1开始到26,每次n要减去一才能从A开始:c...
原创
80阅读
0评论
0点赞
发布博客于 2 年前

leetcode166. 分数到小数

给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数。如果小数部分为循环小数,则将循环的部分括在括号内。示例 1:输入: numerator = 1, denominator = 2输出: “0.5”示例 2:输入: numerator = 2, denominator = 1输出: “2”示例 3:输入: numerator...
原创
114阅读
0评论
0点赞
发布博客于 2 年前

leetcode414. 第三大的数

给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例 1:输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例 2:输入: [1, 2]输出: 2解释: 第三大的数不存在, 所以返回最大的数 2 .示例 3:输入: [2, 2, 3, 1]输出: 1解释: 注意,要求返回第三大的数,是指第三大且唯一...
原创
64阅读
0评论
0点赞
发布博客于 2 年前

leetcode447. 回旋镖的数量

给定平面上 n 对不同的点,“回旋镖” 是由点表示的元组 (i, j, k) ,其中 i 和 j 之间的距离和 i 和 k 之间的距离相等(需要考虑元组的顺序)。找到所有回旋镖的数量。你可以假设 n 最大为 500,所有点的坐标在闭区间 [-10000, 10000] 中。示例:输入:[[0,0],[1,0],[2,0]]输出:2解释:两个回旋镖为 [[1,0],[0,0],[2,...
原创
171阅读
0评论
0点赞
发布博客于 2 年前

leetcode826. 安排工作以达到最大收益

有一些工作:difficulty[i] 表示第i个工作的难度,profit[i]表示第i个工作的收益。现在我们有一些工人。worker[i]是第i个工人的能力,即该工人只能完成难度小于等于worker[i]的工作。每一个工人都最多只能安排一个工作,但是一个工作可以完成多次。举个例子,如果3个工人都尝试完成一份报酬为1的同样工作,那么总收益为 $3。如果一个工人不能完成任何工作,他的收益为 $...
原创
283阅读
0评论
0点赞
发布博客于 2 年前

leetcode165. 比较版本号

leetcode165. 比较版本号比较两个版本号 version1 和 version2。如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。你可以假设版本字符串非空,并且只包含数字和 . 字符。. 字符不代表小数点,而是用于分隔数字序列。例如,2.5 不是“两个半”,也不是“差一半到三”,而是第二版中的第五个小版本。你可以假设...
原创
262阅读
0评论
0点赞
发布博客于 2 年前

概率生成器

用一个[1 2 3 4 5]的随机生成器生成一个[1 2 3 4 5 6 7]的随机生成器这种题目的通解就是random2 = (random1-1)*len(random1)+random1,这样生成等概率的数,然后去掉后几种情况,构成len(random2)的倍数。上面的数是1-25这25个数,那就取1-21这21个数就好。...
原创
937阅读
0评论
0点赞
发布博客于 2 年前

leetcode164. 最大间距

给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例 1:输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例 2:输入: [10]输出: 0解释: 数组元素个数小于 2,因此返回 0。说明:你可以假设数组中所有元素都是非负...
原创
263阅读
0评论
1点赞
发布博客于 2 年前

leetcode162. 寻找峰值

峰值元素是指其值大于左右相邻值的元素。给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设 nums[-1] = nums[n] = -∞。示例 1:输入: nums = [1,2,3,1]输出: 2解释: 3 是峰值元素,你的函数应该返回其索引 2。示例 2...
原创
98阅读
0评论
0点赞
发布博客于 2 年前

leetcode208. 实现 Trie (前缀树)

实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。示例:Trie trie = new Trie();trie.insert(“apple”);trie.search(“apple”); // 返回 truetrie.search(“app”); // 返回 falsetrie.startsWith(“app”); ...
原创
196阅读
0评论
0点赞
发布博客于 2 年前

编程题:最长公共子序列

也就是LCS问题,常规的动态规划题目,状态转移矩阵见下图:代码呼之欲出:class Solution: def lsc(self, a, b): len_a, len_b = len(a), len(b) # dp[i][j]表示a的前i个数和b的前j个数构成的最长公共子串长度 dp = [[0] * (len_b + 1) for _...
原创
296阅读
0评论
0点赞
发布博客于 2 年前

leetcode160. 相交链表

leetcode160. 相交链表编写一个程序,找到两个单链表相交的起始节点。注意:如果两个链表没有交点,返回 null.在返回结果后,两个链表仍须保持原有的结构。可假定整个链表结构中没有循环。程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。参考剑指offer36.两个链表的第一个公共结点:# Definition for singly-linked list.# class ListNode(obje...
原创
86阅读
0评论
0点赞
发布博客于 2 年前

Python实现六大常见的排序算法

首先建立一个新文件random_list.py用来随机生成整数列表,代码如下:# -*- coding:utf-8 -*-__author__ = 'ShawDa'import randomdef random_int_list(start, stop, length): start, stop = ( int(start), int(stop)) if st...
原创
95阅读
0评论
0点赞
发布博客于 2 年前

编程题:过河问题

参考这个动态规划-小朋友过桥问题。
原创
1070阅读
0评论
0点赞
发布博客于 2 年前

leetcode152. 乘积最大子序列

leetcode152. 乘积最大子序列给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。用三个变量分别记录最大值,到之前一个数的最大值和最小值:class Solution: ...
原创
140阅读
0评论
0点赞
发布博客于 2 年前

编程题:毕业旅行问题

也就是旅行商(TSP)问题,有很多解决方法,这里就介绍一种:动态规划,参考干货|十分钟教你用动态规划算法解Travelling Salesman Problem(TSP)问题,附代码……。最重要的是找到状态转移方程,是这个:从某一点出发,经过V‘+{i}中的所有点到达i(注意i是在V’中的)的最短距离是[经过V‘中所有点最后到达某一点k的最短距离加上k到i的距离]的最小值,Python代码...
原创
2506阅读
0评论
1点赞
发布博客于 2 年前

leetcode151. 翻转字符串里的单词

leetcode151. 翻转字符串里的单词给定一个字符串,逐个翻转字符串中的每个单词。示例 1:输入: “the sky is blue”输出: “blue is sky the”示例 2:输入: " hello world! "输出: “world! hello”解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例 3:输入: “a good example”输出: “examp...
原创
117阅读
0评论
0点赞
发布博客于 2 年前

leetcode150. 逆波兰表达式求值

leetcode150. 逆波兰表达式求值根据逆波兰表示法,求表达式的值。有效的运算符包括 +, -, , / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1:输入: [“2”, “1”, “+”, “3”, ""]输出: 9解释: ((2 + 1) * 3) = 9示例 2:输入: [...
原创
58阅读
0评论
0点赞
发布博客于 2 年前

leetcode149. 直线上最多的点数

leetcode149. 直线上最多的点数给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。示例 1:输入: [[1,1],[2,2],[3,3]]输出: 3示例 2:输入: [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]输出: 4...
原创
205阅读
0评论
0点赞
发布博客于 2 年前

Google面试题:人和自行车匹配

题目参考这里,也是leetcode-cn举办的编程大赛的一道题,只想到了暴力法解决,超时了:# -*- coding:utf-8 -*-__author__ = 'ShawDa'class Solution: def assignBikes(self, workers, bikes): res, dis_dict, index = [0]*len(workers),...
原创
402阅读
0评论
0点赞
发布博客于 2 年前

字节跳动0414笔试编程题

字节跳动0414笔试编程题第一题和leetcode994. 腐烂的橘子一样的,AC解答:# -*- coding:utf-8 -*-__author__ = 'ShawDa'def get_ret(res): x, y, ret = len(res), len(res[0]), 0 locs, stack = [[-1, 0], [0, -1], [0, 1], [1, 0]], [] ...
原创
853阅读
0评论
0点赞
发布博客于 2 年前

leetcode148. 排序链表

leetcode148. 排序链表在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3->4->5看到题目就知道要二分,这里用的是递归版归并:# Definition for ...
原创
60阅读
0评论
0点赞
发布博客于 2 年前

leetcode147. 对链表进行插入排序

leetcode147. 对链表进行插入排序对链表进行插入排序。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数据插入完为止。...
原创
104阅读
0评论
0点赞
发布博客于 2 年前

编程题:区间中的最小数 * 区间所有数的和最大

给定一个数组序列, 需要求选出一个区间, 使得该区间是所有区间中经过如下计算的值最大的一个:区间中的最小数 * 区间所有数的和最后程序输出经过计算后的最大值即可,不需要输出具体的区间。如给定序列 [6 2 1]则根据上述公式, 可得到所有可以选定各个区间的计算值:[6] = 6 * 6 = 36;[2] = 2 * 2 = 4;[1] = 1 * 1 = 1;[6,2] = 2 * ...
原创
877阅读
0评论
0点赞
发布博客于 2 年前

编程题:最大乘积

给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)输入描述:无序整数数组A[n]输出描述:满足条件的最大乘积示例1输入3 4 1 2输出24找到数组中最大a,第二大b,第三大c,最小d和第二小e的数即可,结果只能是abc或者ade:n = int(input())data = list(map(int...
原创
520阅读
0评论
0点赞
发布博客于 2 年前

leetcode146. LRU缓存机制

leetcode146. LRU缓存机制运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥不存在,则写入其数据值。当缓存容量达到上限时,它应该在写入新数据之前删除最近最少使用的数...
原创
244阅读
0评论
0点赞
发布博客于 2 年前

剑指offer66.机器人的运动范围

剑指offer66.机器人的运动范围地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?...
原创
87阅读
0评论
0点赞
发布博客于 2 年前

编程题:找最外层的坐标点

牛客上的一道编程题P为给定的二维平面整数点集。定义 P 中某点x,如果x满足 P 中任意点都不在 x 的右上方区域内(横纵坐标都大于x),则称其为“最大的”。求出所有“最大的”点的集合。(所有点的横坐标和纵坐标都不重复, 坐标轴范围在[0, 1e9) 内)请实现代码找到集合 P 中的所有 ”最大“ 点的集合并输出。输入描述:第一行输入点集的个数 N, 接下来 N 行,每行两个数字代表点的 ...
原创
924阅读
0评论
0点赞
发布博客于 2 年前

剑指offer65.矩阵中的路径

剑指offer65.矩阵中的路径请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个...
原创
72阅读
0评论
0点赞
发布博客于 2 年前

剑指offer64.滑动窗口的最大值

剑指offer64.滑动窗口的最大值给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, ...
原创
80阅读
0评论
1点赞
发布博客于 2 年前

剑指offer63.数据流中的中位数

剑指offer63.数据流中的中位数如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。...
原创
98阅读
0评论
0点赞
发布博客于 2 年前

剑指offer62.二叉搜索树的第k个结点

给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。注意一定要当左右子树不为空时才返回:# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left ...
原创
166阅读
0评论
0点赞
发布博客于 2 年前

剑指offer61.序列化二叉树

剑指offer61.序列化二叉树请实现两个函数,分别用来序列化和反序列化二叉树这里采用先序遍历的方法来做序列化和反序列化。序列化比较简单,反序列化要设置一个index来记录点的位置:# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# ...
原创
50阅读
0评论
0点赞
发布博客于 2 年前

剑指offer60.把二叉树打印成多行

剑指offer60.把二叉树打印成多行从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。层序遍历:# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solutio...
原创
354阅读
0评论
0点赞
发布博客于 2 年前

leetcode145. 二叉树的后序遍历

leetcode145. 二叉树的后序遍历给定一个二叉树,返回它的 后序 遍历。示例:输入: [1,null,2,3]输出: [3,2,1]进阶: 递归算法很简单,你可以通过迭代算法完成吗?递归:# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# ...
原创
536阅读
0评论
0点赞
发布博客于 2 年前

leetcode143. 重排链表

leetcode143. 重排链表给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:给定链表 1->2->3->4, 重新排列为 1->4->2->3.示例 2:给定链表 1->2->3->4->5, 重新排列为 1-...
原创
73阅读
0评论
0点赞
发布博客于 2 年前

leetcode142. 环形链表 II

leetcode142. 环形链表 II给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node index 1解释:...
原创
49阅读
0评论
0点赞
发布博客于 2 年前

称球问题:12个球,有一个和其它的质量不一样,有一个天平可用,怎样找出它并说明它是轻是重

这算是一道智力题了。一共12个球,有轻有重,所以一共有24种情况;天平每次有左倾、右倾和平衡三种情况,每次处理1/3,三次处理到1/27,所以无论怎样,三次称重一定可以得到结果。先看看这个图:下面我来一一分析:先将12个球分为A1 A2 A3 A4,B1 B2 B3 B4,C1 C2 C3 C4这三份。1.先称A和B:  如果平衡那么坏球在C中    2.再称C1 C2 C3和A1...
原创
1655阅读
0评论
0点赞
发布博客于 2 年前

Python 将某个索引的倍数位置全部置为某一个数

首先创建一个List:test_list = list(range(20))看下索引3的倍数结果:print(test_list[0:19:3])[0, 3, 6, 9, 12, 15, 18]可以直接给上述索引位置赋值:test_list[0:19:3] = [33]*len(test_list[0:19:3])结果:print(test_list)[33, 1, 2, ...
原创
789阅读
0评论
0点赞
发布博客于 2 年前

拼多多4月3日笔试编程题

第一题给一个偶数个数的数组,每两个数组合成一个数后使得最大最小数之差最小:很简单,先把数组排序,然后把第一个和最后一个数组合,第二个和倒数第二个数组合。。。。。。得到组合后的数组,然后最大值减去最小值就得到结果。第二题给很多个0到9这10个数,取a+b个数组成长度为a和b的两个数,前面可以有0,使得他两乘积最小:想了下,测试了下,先找到较小数,然后把0放入较小数中,对剩余的数一个一个再放...
原创
159阅读
0评论
0点赞
发布博客于 2 年前

leetcode141. 环形链表

leetcode141. 环形链表给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:true解释...
原创
247阅读
0评论
0点赞
发布博客于 2 年前

Python Dict找出value大于某值或key大于某值的所有项

对于一个Dict:test_dict = {1:5, 2:4, 3:3, 4:2, 5:1}想要求key值大于等于3的所有项:print({k:v for k, v in test_dict.items() if k>=3})得到{3: 3, 4: 2, 5: 1}想要求value值大于等于3的所有项:print({k:v for k, v in test_dict.it...
原创
7919阅读
0评论
2点赞
发布博客于 2 年前

leetcode140. 单词拆分 II

leetcode140. 单词拆分 II给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入:s = “catsanddog”wordDict = [“cat”, “cats”, “and”, “sand”, “dog”]输出:...
原创
465阅读
0评论
0点赞
发布博客于 2 年前

leetcode139. 单词拆分

leetcode139. 单词拆分给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true 因为 “leetcode” 可以被拆分成...
原创
84阅读
0评论
0点赞
发布博客于 2 年前

leetcode138. 复制带随机指针的链表

leetcode138. 复制带随机指针的链表给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深拷贝。示例:输入:{“KaTeX parse error: Expected '}', got 'EOF' at end of input: …":"1","next":{"id”:“2”,“next”:null,“random”:{“KaTeX parse error: Expe...
原创
302阅读
0评论
0点赞
发布博客于 2 年前

leetcode260. 只出现一次的数字 III

leetcode260. 只出现一次的数字 III给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。示例 :输入: [1,2,1,3,2,5]输出: [3,5]注意:结果输出的顺序并不重要,对于上面的例子, [5, 3] 也是正确答案。你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现?leetcode136. 只出现一次的数字的进阶版,可以参考剑指offe...
原创
118阅读
0评论
0点赞
发布博客于 2 年前

leetcode137. 只出现一次的数字 II

leetcode137. 只出现一次的数字 II给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,3,2]输出: 3示例 2:输入: [0,1,0,1,0,1,99]输出: 99leetcode136. 只出现一次的数字的进阶版,这次是某一位上出现三次就置为0,以[2,2,2,...
原创
351阅读
0评论
0点赞
发布博客于 2 年前

leetcode135. 分发糖果

leetcode135. 分发糖果老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻的孩子中,评分高的孩子必须获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例 1:输入: [1,0,2]输出: 5解释: 你可以分别给这三个孩子分发 2、1、2 颗糖果。示例 2:输入:...
原创
275阅读
0评论
0点赞
发布博客于 2 年前

leetcode134. 加油站

leetcode134. 加油站在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数组中的元素均为非...
原创
511阅读
0评论
0点赞
发布博客于 2 年前

leetcode852. 山脉数组的峰顶索引

我们把符合下列属性的数组 A 称作山脉:A.length >= 3存在 0 < i < A.length - 1 使得A[0] < A[1] < … A[i-1] < A[i] > A[i+1] > … > A[A.length - 1]给定一个确定为山脉的数组,返回任何满足 A[0] < A[1] < … A[i-1] &l...
原创
317阅读
0评论
0点赞
发布博客于 2 年前

leetcode133. 克隆图

leetcode133. 克隆图给定无向连通图中一个节点的引用,返回该图的深拷贝(克隆)。图中的每个节点都包含它的值 val(Int) 和其邻居的列表(list[Node])。输入:{“KaTeX parse error: Expected '}', got 'EOF' at end of input: …"neighbors":[{"id”:“2”,“neighbors”:[{“KaTeX parse error: Exp...
原创
435阅读
0评论
0点赞
发布博客于 2 年前

leetcode130. 被围绕的区域

leetcode130. 被围绕的区域给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。示例:X X X XX O O XX X O XX O X X运行你的函数后,矩阵变为:X X X XX X X XX X X XX O X X解释:被围绕的区间不会存在于边界上,换句话说,任何边界上的 ‘O’ 都不会被填充为 ‘X’。...
原创
219阅读
0评论
0点赞
发布博客于 2 年前

leetcode155. 最小栈

设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minS...
原创
860阅读
0评论
0点赞
发布博客于 2 年前

leetcode131. 分割回文串

leetcode131. 分割回文串给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入: “aab”输出:[[“aa”,“b”],[“a”,“a”,“b”]]暴力:class Solution: def partition(self, s: str) -&gt; List[List[str]]: if not s: ...
原创
252阅读
0评论
0点赞
发布博客于 2 年前

Python OpenCV TypeError: Layout of the output array img is incompatible with cv

参考Python Opencv根据点来填充区域写出如下代码:# -*- coding:utf-8 -*-__author__ = 'ShawDa'import cv2import numpy as npimg = np.full((512, 512, 1), 255)points = [[1, 142],[142, 142],[142, 300],[1, 142]]res = ...
原创
567阅读
0评论
0点赞
发布博客于 2 年前

Python Opencv根据点来填充区域

Python Opencv根据点来填充区域根据点围成的闭合区间在图片上将这部分填充某一种颜色
原创
5692阅读
1评论
3点赞
发布博客于 2 年前

pyshp UnicodeDecodeError解决方法

用最新版本(2.1.0)的pyshp解析shp文件的records时:records = sf.records()如果records里面含有中文字段,那么就会报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcc in position 0: invalid continuation byte这个是编解码的问题,解决方法是...
原创
937阅读
0评论
0点赞
发布博客于 2 年前

leetcode129. 求根到叶子节点数字之和

给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1-&gt;2-&gt;3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明: 叶子节点是指没有子节点的节点。示例 1:输入: [1,2,3]输出: 25解释:从根到叶子节点路径 1-&gt;2 代表数字 12.从根到叶子节点路径 1-&gt;3 ...
原创
587阅读
0评论
0点赞
发布博客于 2 年前

leetcode144. 二叉树的前序遍历

leetcode144. 二叉树的前序遍历给定一个二叉树,返回它的 前序 遍历。示例:输入: [1,null,2,3]输出: [1,2,3]进阶: 递归算法很简单,你可以通过迭代算法完成吗?递归:# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# ...
原创
523阅读
0评论
0点赞
发布博客于 2 年前

leetcode128. 最长连续序列

给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。建立一个Dict,如果num不在里面就查看左右连续长度,再给num和左右处赋值:class Solution: def longestConsecutive(s...
原创
527阅读
0评论
0点赞
发布博客于 2 年前

leetcode124. 二叉树中的最大路径和

给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [-10,9,20,null,null,15,7]输出: 42注意是一个节点走到另一个节点,如果一个根节点包含左右子树就不能再往上走了:# Definition for a b...
原创
422阅读
0评论
0点赞
发布博客于 2 年前

leetcode120. 三角形最小路径和

leetcode120. 三角形最小路径和 给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[[2],[3,4],[6,5,7],[4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。说明:如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。在原tri上自底向上:class Sol...
原创
349阅读
0评论
0点赞
发布博客于 2 年前

leetcode115. 不同的子序列

leetcode115. 不同的子序列,给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)示例 1:输入: S = “rabbbit”, T = “rabbit”输出: 3解释:如下图所示, 有 3 种可以从 S 中得到 ...
原创
314阅读
0评论
0点赞
发布博客于 2 年前

leetcode114. 二叉树展开为链表

给定一个二叉树,原地将它展开为链表。先把左右展开,右放左最后,左放右,左置空:# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = No...
原创
721阅读
0评论
0点赞
发布博客于 2 年前

leetcode109. 有序链表转换二叉搜索树

给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5]当然可以参考leetcode108. 将有序数组转换为二叉搜索树把链表写入list中再处理,其实关键...
原创
229阅读
0评论
0点赞
发布博客于 2 年前

leetcode106. 从中序与后序遍历序列构造二叉树

根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回[3,9,20,null,null,15,7]找准分界点:# Definition for a binary tree node.# class TreeNode:# ...
原创
552阅读
0评论
0点赞
发布博客于 2 年前

leetcode717. 1比特与2比特字符

有两种特殊字符。第一种字符可以用一比特0来表示。第二种字符可以用两比特(10 或 11)来表示。现给一个由若干比特组成的字符串。问最后一个字符是否必定为一个一比特字符。给定的字符串总是由0结束。示例 1:输入:bits = [1, 0, 0]输出: True解释:唯一的编码方式是一个两比特字符和一个一比特字符。所以最后一个字符是一比特字符。示例 2:输入:bits = [1, ...
原创
406阅读
0评论
0点赞
发布博客于 2 年前

leetcode221. 最大正方形

在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4动态规划,记录某一点为右下角的最大正方形边长class Solution: def maximalSquare(self, matrix: List[List[str]]) -&gt; int:...
原创
447阅读
0评论
0点赞
发布博客于 2 年前

leetcode83. 删除排序链表中的重复元素

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1-&gt;1-&gt;2输出: 1-&gt;2示例 2:输入: 1-&gt;1-&gt;2-&gt;3-&gt;3输出: 1-&gt;2-&gt;3# Definition for singly-linked list.# class ListNode:# def __init__(self...
原创
251阅读
0评论
0点赞
发布博客于 2 年前

leetcode82. 删除排序链表中的重复元素 II

给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。示例 1:输入: 1-&gt;2-&gt;3-&gt;3-&gt;4-&gt;4-&gt;5输出: 1-&gt;2-&gt;5示例 2:输入: 1-&gt;1-&gt;1-&gt;2-&gt;3输出: 2-&gt;3参考剑指offer56.删除链表中重复的结点:# Definition for s...
原创
348阅读
0评论
0点赞
发布博客于 2 年前

leetcode79. 单词搜索

给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[[‘A’,‘B’,‘C’,‘E’],[‘S’,‘F’,‘C’,‘S’],[‘A’,‘D’,‘E’,‘E’]]给定 word = “ABCCED”, 返回 true...
原创
321阅读
0评论
0点赞
发布博客于 2 年前

leetcode75. 颜色分类

给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶:一个直观的解决方案是使用计数排序的两趟扫描算法。首先,迭代计...
原创
570阅读
0评论
0点赞
发布博客于 2 年前

leetcode74. 搜索二维矩阵

编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [[1, 3, 5, 7],[10, 11, 16, 20],[23, 30, 34, 50]]target = 3输出: true示例 2:输入:matrix = [...
原创
425阅读
0评论
0点赞
发布博客于 2 年前