自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张某某。的博客

java 数据库 C++学习者

  • 博客(179)
  • 收藏
  • 关注

原创 吴恩达机器学习____学习笔记记录

吴恩达机器学习____学习笔记记录#一、引言吴恩达机器学习____学习笔记记录#四、多变量线性回归吴恩达机器学习____学习笔记记录#六、逻辑回归(Logistic Regression)吴恩达机器学习____学习笔记记录#七、正则化吴恩达机器学习____学习笔记记录#八、神经网络---表述吴恩达机器学习____学习笔记记录#九、神经网络--学习吴恩达机器学习____学习笔记记录#十、应用机器学习的建议吴恩达机器学习____学习笔记记录#十一、机器学习系统的设计吴恩达机器学习

2021-04-21 07:34:00 181

原创 必备算法总结篇

1.备战实习记录之【数组篇】+【链表篇】2.备战实习记录之【字符串篇】+【哈希表篇】(算法之字符串KMP算法(原理及源码))3.备战实习记录之【堆与堆排序】4.备战实习记录之【栈与队列篇】5.备战实习记录之【树与二叉树篇】1备战实习记录之【树与二叉树篇】2——二叉树的前中后序遍历备战实习记录之【树与二叉树篇】3——二叉树的层序遍历备战实习记录之【树与二叉树篇】4——翻转二叉树备战实习记录之【树与二叉树篇】5——二叉树的常见问题(递归+迭代 应用)备战实习记录之【树与二

2021-04-21 07:27:46 124

原创 面试必备系列【Java核心+计网+数据库+并发编程】

1.Java核心Java核心之JVMJAVA核心之泛型2.计算机网络【面试】计算机网络总结1(OSI七层协议+TCP与UDP简介)【面试】计算机网络总结2(TCP的三次握手与四次挥手)【面试】计算机网络总结3(TCP的滑动窗口机制+拥塞处理)【面试】计算机网络总结4(HTTP)【面试】计算机网络总结5(从键入网址到网页显示发生了什么)3.数据库【面试】数据库总结1(MySQL介绍+体系结构)【面试】数据库总结2(MySQL索引)【面试】数据库总结3(MySQL

2021-04-21 07:16:04 355

原创 剑指offer题解记录

剑指 Offer 10- I. 斐波那契数列(动态规划)题目描述:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例.

2021-04-21 07:01:20 121

转载 【面试】并发编程总结3(线程、进程必备知识点)

目录1.并发和并行有什么区别?2.进程状态变迁:3.进程与线程的上下文切换:3.1 进程的上下文切换:发生进程上下文切换有哪些场景?3.2 线程的上下文切换:线程的优缺点?线程与进程的比较3.3 线程相比进程能减少开销,体现在:3.4 线程的上下文切换线程上下文切换的是什么?4.调度4.1 五种调度原则:4.2 调度算法:01 先来先服务调度算法02 最短作业优先调度算法03 高响应比优先调度算法04 时间片轮转调度算法05 最高优

2021-09-23 14:58:05 308

原创 【面试】集合框架(核心知识点+面试常考)

1.数组char [] cs = new char['','','']{};char [] cs1 = new char[s];cs1[0] = 'G'; 数组常见问题:数组索引越界异常1.1特点1.数组内存地址连续,使用之前必须先指定好数组长度2.可以通过下标访问的方式去访问——查询效率高3.增删 操作会给系统带来性能消耗——保证数据下标越界的问题,须要动态扩容2.链表分为单向链表与双向链表双向链表:每个节点都是由三部分组成:prev记录前一节点的地址;next记录后一节点

2021-09-18 21:59:39 274

原创 剑指 Offer 51. 数组中的逆序对(归并排序的典型应用)

剑指 Offer 51. 数组中的逆序对(困难)问题描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5限制:0 <= 数组长度 <= 50000解题思路这道题的题意相对还是很好理解的。但是第一次做这道题没有思路的我,上来就是暴力遍历。果然超时了。后来参考大佬解法,发现是一道对于归并排序的典型应用的题。主要解题思路如下:「归并排

2021-04-21 18:05:28 237

原创 剑指 Offer 50. 第一个只出现一次的字符(辅助集合)

剑指 Offer 50. 第一个只出现一次的字符问题描述在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。示例:s = "abaccdeff"返回 "b"s = ""返回 " "限制:0 <= s 的长度 <= 50000解题思路通常使用一个辅助数据结构用于统计每个字符出现的次数。这道题中我使用的是HashMap。(使用长度为26的数组也是可以的)。先遍历统计每一个字符出现的次数,再从头查看哪个字符出现的.

2021-04-19 16:10:29 101

原创 剑指 Offer 49. 丑数(动态规划解法)

问题描述我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明: 1 是丑数。 n 不超过1690。解题思路解法一:暴力解法:遍历所有num,判断是否是丑数,如果是丑数,则计数+1,直到丑数数量等于n,输出这个数即可。但是暴力求解方法,最多只能通过1351个丑...

2021-04-18 22:29:49 109

原创 剑指 Offer 48. 最长不含重复字符的子字符串(滑动窗口)

剑指 Offer 48. 最长不含重复字符的子字符串问题描述请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例 1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3.

2021-04-18 17:13:21 98

原创 剑指 Offer 47. 礼物的最大价值(动态规划)

剑指 Offer 47. 礼物的最大价值问题描述在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?示例 1:输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 12解释: 路径 1→3→5→2→1 可以拿到最多价值的礼物提示: 0 < gr...

2021-04-18 15:50:46 213

原创 剑指 Offer 46. 把数字翻译成字符串(动态规划+回溯+递归 解法)

剑指 Offer 46. 把数字翻译成字符串问题描述给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例 1:输入: 12258输出: 5解释: 12258有5种不同的翻译,分别是"bccfi", "bwfi", "bczi", "mcfi"和"mzi"提示: 0 <= num <..

2021-04-18 14:50:25 188

原创 剑指 Offer 45. 把数组排成最小的数(自定义比较器+小顶堆)

剑指 Offer 45. 把数组排成最小的数问题描述输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例 1:输入: [10,2]输出: "102"示例 2:输入: [3,30,34,5,9]输出: "3033459"提示: 0 < nums.length <= 100说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数 拼接起来的数字可能会有前导 0,最后结果不需要去掉前导...

2021-04-18 09:44:24 139

原创 剑指 Offer 57. 和为s的两个数字(双指针解法)

剑指 Offer 57. 和为s的两个数字问题描述输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。示例 1:输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例 2:输入:nums = [10,26,30,31,47,60], target = 40输出:[10,30] 或者 [30,10]限制: 1 <= nums.length ..

2021-04-17 21:26:38 159

原创 剑指 Offer 44. 数字序列中某一位的数字(数学规律题)

剑指 Offer 44. 数字序列中某一位的数字问题描述数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。请写一个函数,求任意第n位对应的数字。示例 1:输入:n = 3输出:3示例 2:输入:n = 11输出:0限制: 0 <= n < 2^31解题思路0~9 共10个 每个占1位 共10个位置...

2021-04-17 21:05:33 109

原创 剑指 Offer 43. 1~n 整数中 1 出现的次数(数字规律题)

剑指 Offer 43. 1~n 整数中 1 出现的次数(困难)问题描述输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。示例 1:输入:n = 12输出:5示例 2:输入:n = 13输出:6限制: 1 <= n < 2^31解题思路求1出现的可能可以把这个数分成三部分理解。即高位high,当前位置cur,低位low。当前位置的十进..

2021-04-17 17:17:50 127

原创 剑指 Offer 42. 连续子数组的最大和(动态规划求解)

剑指 Offer 42. 连续子数组的最大和问题描述输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。提示: 1 <= arr.length <= 10^5 -100 <= arr[i] <= 100解题思路由于求的是连续...

2021-04-16 22:17:16 111

原创 剑指 Offer 41. 数据流中的中位数(大顶堆+小顶堆 求中位数)

剑指 Offer 41. 数据流中的中位数(困难)问题描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。例如,[2,3,4] 的中位数是 3[2,3] 的中位数是 (2 + 3) / 2 = 2.5设计一个支持以下两种操作的数据结构: void addNum(int num) - 从数据流中添加一个整数到数据结构中。 doub...

2021-04-16 21:48:02 194

原创 剑指 Offer 40. 最小的k个数(大顶堆解法)

剑指 Offer 40. 最小的k个数问题描述输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]限制: 0 <= k <= arr.length <= 10000 0 <= arr[i] ...

2021-04-16 20:20:02 178

原创 Leetcode#146. LRU 缓存机制 (HashMap+双向链表手写LRU)

146. LRU 缓存机制问题描述运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。 void put(int key, int value)如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。...

2021-04-14 22:43:59 104

原创 NC1.大数加法

问题描述以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。(字符串长度不大于100000,保证字符串仅由'0'~'9'这10种字符组成)示例1输入"1","99"返回值"100"说明1+99=100 解题思路主要解题思路就是按位计算每一位的和以及相应的进位。然后使用StringBuilder来保存,最后如果每一位都计算完了,看一下是否还有进位,然后有的话加到结尾。最后调用StringBuilder的reverse方法反转一下整

2021-04-14 13:44:57 230

转载 【面试】数据库总结5:删除数据库数据:(Drop/Truncate/Delete的区别)

一、从执行速度上来说drop > truncate >> DELETE二、从原理上讲2.1 DELETEDELETE from TABLE_NAME where xxxDELETE属于数据库DML操作语言,只删除数据不删除表的结构,会走事务,执行时会触发trigger; 在 InnoDB 中,DELETE其实并不会真的把数据删除,mysql 实际上只是给删除的数据打了个标记为已删除,因此 delete 删除表中的数据时,表文件在磁盘上所占空间不会变小,存储空间不会被释

2021-04-12 21:53:35 239

原创 NC105.二分查找(二分法)

二分查找问题描述题目描述请实现有重复数字的升序数组的二分查找给定一个 元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1示例1输入[1,2,4,4,5],4返回值2说明从左到右,查找到第1个为4的,下标为2,返回2 示例2输入[1,2,4,4,5],3返回值-1示例3输入[1,1,1,1,1],1返回值.

2021-04-12 11:18:52 315

原创 NC61.两数之和(map及优化解法)

两数之和问题描述题目描述给出一个整数数组,请在数组中找出两个加起来等于目标值的数,你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index2.。注意:下标是从1开始的假设给出的数组中只存在唯一解例如:给出的数组为 {20, 70, 110, 150},目标值为90输出 index1=1, index2=2输入[3,2,4],6返回值[2,3]解题思路有两种解法:第一种就是使用两

2021-04-12 10:51:50 707

原创 2021-0411-百度后端实习笔试记录

1.完全二叉树中两个节点的最短距离问题描述对于一棵完全二叉树(对于有孩子的节点,其左孩子为2i,右孩子为2 i+1),给定的两个点之间的最短路的长度是多少?我们认为相邻两点之间的距离为1。输入描述:第一行输入一个整数T,表示测试数据共有T组对于每组测试数据,输入两个整数表示所询问的节点的标号输出描述:对于每组数据,输出一个整数表示答案解题思路最妙的解法。对于两个节点来说,分别计算其到父节点的距离并相加即可。怎样快速找到当前节点的父节点?对于完全二叉树来说,直接

2021-04-11 22:13:10 360

原创 【面试】并发编程总结2(线程安全性及分析)

5 线程安全性及分析5.1 原子性、可见性、有序性5.1.1 线程安全【当多个线程访问某个对象时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或者协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。】()(1)线程安全问题的本质原子性 可见性 有序性(2)导致线程安全问题的根源高速缓存结构:CPU的计算速度远快于内存的读写速度,内存的读写速度要远远快于磁盘的读写速度。如果CPU执行一条指令的时候,.

2021-04-11 16:52:51 122

原创 【面试】并发编程总结1(生命周期+基本操作)

1 线程线程是大多数操作系统调度的基本单元。一个程序作为一个进程运行,程序运行过程中可能会创建多个线程。一个线程在一个时刻只能运行在一个CPU核心上。为什么使用多线程?①异步执行②利用多CPU资源实现真正意义上的并列执行线程的应用场景:①使用多线程实现文件下载②后台任务:如定时向大量(100W以上)的用户发送邮件③异步处理:记录日志④多步骤的任务处理:可根据步骤特征选用不同个数和特征的线程来协作处理,多任务的分割,由一个主线程分割给多个线程完成。多线程的本质是

2021-04-09 19:37:47 130

原创 剑指 Offer 39. 数组中出现次数超过一半的数字(投票法)

剑指 Offer 39. 数组中出现次数超过一半的数字问题描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2限制:1 <= 数组长度 <= 50000解题思路基于数组特点进行分析:由于有一个数字出现的次数超过数组长度的一半,即它出现的次数比其他所有数字出现的次数的和还要多。因此,考虑在遍历数组时

2021-04-08 22:37:57 143

原创 剑指 Offer 38. 字符串的排列(回溯+很妙的去重算法)

剑指 Offer 38. 字符串的排列问题描述输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例:输入:s = "abc"输出:["abc","acb","bac","bca","cab","cba"]限制:1 <= s 的长度 <= 8解题思路这道题主要解题的思路就是怎样完成全排列的回溯代码,列举出所有排列。其次还需要注意两点:1是需要把最后结果输出为String,我是用List来存储

2021-04-08 22:23:29 103

原创 备战实习记录之【回溯法】

1.回溯法解决的问题回溯法,一般可以解决如下几种问题: 组合问题:N个数里面按一定规则找出k个数的集合 排列问题:N个数按一定规则全排列,有几种排列方式 切割问题:一个字符串按一定规则有几种切割方式 子集问题:一个N个数的集合里有多少符合条件的子集 棋盘问题:N皇后,解数独等等 其中:「组合是不强调元素顺序的,排列是强调元素顺序」。 即【组合无序,排列有序】2.如何理解回溯法「回溯法解决的问题都可以抽象为树形结构」,所有回溯法的问题都可以抽象为.

2021-04-08 21:38:25 173

原创 Leetcode#46. 全排列+#47. 全排列 II(回溯解法+去重算法)

46. 全排列问题描述给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]解题思路这道题是求一组数的所有全排列。首先全排列与组合相比,主要区别在于全排列长度必须是nums数组大小(即包含所有元素);其次全排列是有序的,而组合是无序的。(即对于全排列来说,【1,2】和【2,1】是两个不同的排列)...

2021-04-08 17:39:16 140

原创 Leecode#78. 子集+#90. 子集 II(回溯+解决重复元素不重复组合问题)

78. 子集问题描述给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。示例 1:输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:输入:nums = [0]输出:[[],[0]]提示: 1 <= nums.length <= 10 -10 <= nums[...

2021-04-08 16:47:23 236

转载  Leetcode#77. 组合(回溯解法+剪枝优化)

77. 组合问题描述给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。示例:输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]解题思路解法一:一开始集合是 1,2,3,4, 从左向右取数,取过的数,不再重复取。第一次取1,集合变为2,3,4 ,因为k为2,我们只需要再取一个数就可以了,分别取2,3,4,得到集合[1,2] [1,3] [...

2021-04-08 12:09:23 286

原创 剑指 Offer 37. 序列化二叉树(辅助栈+序列化与反序列化)

剑指 Offer 37. 序列化二叉树(困难)问题描述请实现两个函数,分别用来序列化和反序列化二叉树。示例:你可以将以下二叉树: 1 / \ 2 3 / \ 4 5序列化为 "[1,2,3,null,null,4,5]"解题思路首先需要实现serialize方法把二叉树转换为字符串格式,可以看到示例中的序列化结果是层序遍历的结果。因此先使用层序遍历的方法去完成遍历,在遍历的过程中完成字符串的拼接。另外需要实现deserial...

2021-04-08 11:22:05 99

原创 剑指 Offer 36. 二叉搜索树与双向链表(递归+迭代)

剑指 Offer 36. 二叉搜索树与双向链表问题描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。为了让您更好地理解问题,以下面的二叉搜索树为例:我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。下图展示了上面的二叉搜索树转化成的链表。“head” 表示指向链表中有最小元素的节点。特别地

2021-04-07 16:05:13 128

原创 剑指 Offer 35. 复杂链表的复制(辅助空间+连接/拆分)

剑指 Offer 35. 复杂链表的复制问题描述请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。示例 1:输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]示例 2:输入:head = [[1,1],[2,1]]输出

2021-04-07 12:16:39 77

原创 剑指 Offer 33. 二叉搜索树的后序遍历序列(递归)

剑指 Offer 33. 二叉搜索树的后序遍历序列问题描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。参考以下这颗二叉搜索树: 5 / \ 2 6 / \1 3示例 1:输入: [1,6,3,2,5]输出: false示例 2:输入: [1,3,2,6,5]输出: true提示: 数组长度 <= 1000...

2021-04-05 22:58:44 97

原创 剑指 Offer 32 - I.II.III. 从上到下打印二叉树(层序遍历)

剑指 Offer 32 - I. 从上到下打印二叉树问题描述从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回:[3,9,20,15,7]提示: 节点总数 <= 1000解题思路很容易想到的思路就是基础的层序遍历。只是一般的层序遍历迭代法是使用List<List<Integ...

2021-04-05 22:22:57 112

原创 剑指 Offer 31. 栈的压入、弹出序列(辅助栈+模拟)

剑指 Offer 31. 栈的压入、弹出序列问题描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。示例 1:输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出:true解释:我们可以按以下顺序执行:p

2021-04-05 21:18:20 122

原创 剑指 Offer 29. 顺时针打印矩阵(模拟迭代)

剑指 Offer 29. 顺时针打印矩阵问题描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]限制: 0 <= matrix.length <= 1..

2021-04-05 17:28:42 96

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除