07 2021 档案

摘要:27.移除元素 知识点:数组;双指针; 题目描述 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后 阅读全文 »
posted @ 2021-07-31 15:55 Curryxin 阅读(178) 评论(0) 推荐(0) 编辑
摘要:输入网址后发生了什么 1. DNS域名解析 从我们是输入的URL到获得目的ip地址的过程,这是一个递归查询的过程。 首先应该查询缓存,依次查找浏览器DNS缓存-->本地系统DNS缓存-->本地计算机host文件-->ISP的DNS缓存-->递归搜索。 递归搜索的顺序:根域名服务器-->com顶级域名 阅读全文 »
posted @ 2021-07-29 16:56 Curryxin 阅读(448) 评论(0) 推荐(0) 编辑
摘要:应用层详解 1.应用层概述 应用层是分层模型的最高层,用于为用户提供服务。从应用层来看通信,是两个通信端点之间进程之间的逻辑通信,虽然在实际中存在多个物理链路,但是对应用层而言,其只关注程序A到程序B的连接 2. Http协议 问:http的无状态指的是什么意思? Http是无状态的,也就是说htt 阅读全文 »
posted @ 2021-07-29 16:41 Curryxin 阅读(1087) 评论(0) 推荐(0) 编辑
摘要:142. 环形链表 II 知识点:链表;set;快慢指针 题目描述 给定一个链表,判断链表中是否有环。 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 阅读全文 »
posted @ 2021-07-28 19:03 Curryxin 阅读(79) 评论(0) 推荐(0) 编辑
摘要:141. 环形链表 知识点:链表;集合;快慢指针 题目描述 给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1 阅读全文 »
posted @ 2021-07-28 18:35 Curryxin 阅读(44) 评论(0) 推荐(0) 编辑
摘要:【BFS】111. 二叉树的最小深度 知识点:二叉树,递归;BFS 题目描述 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例 输入:root = [3,9,20,null,null,15,7] 输出:2 输入:r 阅读全文 »
posted @ 2021-07-27 19:36 Curryxin 阅读(129) 评论(0) 推荐(1) 编辑
摘要:105. 从前序与中序遍历序列构造二叉树 知识点:二叉树,递归 题目描述 根据一棵树的中序遍历与前序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 示例 Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7] Output: [3, 阅读全文 »
posted @ 2021-07-27 18:41 Curryxin 阅读(53) 评论(0) 推荐(0) 编辑
摘要:106. 从中序与后序遍历序列构造二叉树 知识点:二叉树,递归 题目描述 根据一棵树的中序遍历与后序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 示例 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9,15,7,20,3] 返回如下的二叉树 阅读全文 »
posted @ 2021-07-27 18:39 Curryxin 阅读(85) 评论(0) 推荐(0) 编辑
摘要:129. 求根节点到叶节点数字之和 知识点:二叉树;递归 题目描述 给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶节点的路径 1 → 2 → 3 表示数字 123 。 计算从根节点到叶节点生成的 阅读全文 »
posted @ 2021-07-27 14:36 Curryxin 阅读(146) 评论(0) 推荐(0) 编辑
摘要:404. 左叶子之和 知识点:二叉树 题目描述 计算给定二叉树的所有左叶子之和。。 示例 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 解法一:DFS 函数功能:左叶子之和 1.终止条件:root为空,返回0; 2.能做什么:判断自己的左 阅读全文 »
posted @ 2021-07-27 14:13 Curryxin 阅读(41) 评论(0) 推荐(0) 编辑
摘要:102. 二叉树的层序遍历 知识点:二叉树;队列 题目描述 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例 二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层序遍历结果: [ [3], [9, 阅读全文 »
posted @ 2021-07-27 14:00 Curryxin 阅读(52) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 55 - II. 平衡二叉树 知识点:二叉树,递归 题目描述 输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 示例 给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / 阅读全文 »
posted @ 2021-07-27 13:46 Curryxin 阅读(40) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 55 - I. 二叉树的深度 知识点:二叉树,递归 题目描述 输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 示例 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3, 阅读全文 »
posted @ 2021-07-27 13:13 Curryxin 阅读(71) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 28. 对称的二叉树 知识点:二叉树;递归 题目描述 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 示例 输入:root = [1,2,2,3,4,4,3] 输出:true 输入:root = [1,2,2,null,3,null, 阅读全文 »
posted @ 2021-07-27 13:00 Curryxin 阅读(74) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 27. 二叉树的镜像 知识点:二叉树;递归;栈 题目描述 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 示例 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 解法一:递归法 函数功能:二叉树镜像; 1、终止条件:root==null 阅读全文 »
posted @ 2021-07-27 12:29 Curryxin 阅读(40) 评论(0) 推荐(0) 编辑
摘要:144. 二叉树的前序遍历 知识点:二叉树;递归;Morris遍历 题目描述 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 输入:root = [1,null,2,3] 输出:[1,2,3] 输入:root = [] 输出:[] 输入:root = [1] 输出:[1] 输入: 阅读全文 »
posted @ 2021-07-27 12:09 Curryxin 阅读(114) 评论(0) 推荐(0) 编辑
摘要:145. 二叉树的后序遍历 知识点:二叉树;递归;Morris遍历 题目描述 给定一个二叉树的根节点 root ,返回它的 后序 遍历。 示例 输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] 解法一:递归 /** * Definition for a binary tr 阅读全文 »
posted @ 2021-07-27 12:07 Curryxin 阅读(73) 评论(0) 推荐(0) 编辑
摘要:94. 二叉树的中序遍历 知识点:二叉树;递归;Morris遍历 题目描述 给定一个二叉树的根节点 root ,返回它的 中序 遍历。 示例 输入:root = [1,null,2,3] 输出:[1,3,2] 输入:root = [] 输出:[] 输入:root = [1] 输出:[1] 输入:ro 阅读全文 »
posted @ 2021-07-27 11:21 Curryxin 阅读(92) 评论(0) 推荐(0) 编辑
摘要:20.有效的括号 知识点:栈;消消乐; 题目描述 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 示例 输入:s = "()" 输出:true 输入:s = " 阅读全文 »
posted @ 2021-07-26 23:59 Curryxin 阅读(474) 评论(0) 推荐(0) 编辑
摘要:1021. 删除最外层的括号 知识点:栈;消消乐 题目描述 有效括号字符串为空 ""、"(" + A + ")" 或 A + B ,其中 A 和 B 都是有效的括号字符串,+ 代表字符串的连接。 例如,"","()","(())()" 和 "(()(()))" 都是有效的括号字符串。 如果有效字符串 阅读全文 »
posted @ 2021-07-26 23:55 Curryxin 阅读(57) 评论(0) 推荐(0) 编辑
摘要:1047. 删除字符串中的所有相邻重复项 知识点:栈 题目描述 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 示例 输入:"abbaca" 输出 阅读全文 »
posted @ 2021-07-26 23:25 Curryxin 阅读(93) 评论(0) 推荐(0) 编辑
摘要:27.移除元素 知识点:栈;队列; 题目描述 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。 int pop() 移除并返回栈顶元素。 阅读全文 »
posted @ 2021-07-26 23:09 Curryxin 阅读(76) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 09. 用两个栈实现队列 知识点:栈;队列; 题目描述 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )。 阅读全文 »
posted @ 2021-07-26 22:43 Curryxin 阅读(66) 评论(0) 推荐(0) 编辑
摘要:递归 1. 概念 大师 L. Peter Deutsch 说过:To Iterate is Human, to Recurse, Divine.中文译为:人理解迭代,神理解递归。 通俗的讲:函数自己调自己; 再举一例子:比如说在电影院,你想知道自己在第几排,但是人太多黑咕隆咚的你也不能去数,怎么办呢 阅读全文 »
posted @ 2021-07-26 21:50 Curryxin 阅读(380) 评论(0) 推荐(0) 编辑
摘要:二叉树 1.基本概念 二叉树是每个节点最多有两个子树的树结构,度可能是0,1,2; 完成二叉树:从左到右依次填满; 满二叉树:除了叶子节点,所有节点都有两个孩子,并且所有叶子节点在同一层; 2.性质 1.完全二叉树除了最后一层外,下一层节点个数是上一层两倍, 如果一颗完全二叉树的节点总数是n,那么叶 阅读全文 »
posted @ 2021-07-26 21:48 Curryxin 阅读(1791) 评论(4) 推荐(1) 编辑
摘要:202. 快乐数 知识点:set;双指针 题目描述 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果 可以变为 1,那么这个数就是快乐数。 阅读全文 »
posted @ 2021-07-24 10:03 Curryxin 阅读(37) 评论(0) 推荐(0) 编辑
摘要:350. 两个数组的交集 II 知识点:哈希表; 双指针 题目描述 给定两个数组,编写一个函数来计算它们的交集。 说明: 输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。 我们可以不考虑输出结果的顺序。 进阶: 如果给定的数组已经排好序呢?你将如何优化你的算法? 如果 num 阅读全文 »
posted @ 2021-07-24 09:41 Curryxin 阅读(42) 评论(0) 推荐(0) 编辑
摘要:349. 两个数组的交集 知识点:set; 双指针 题目描述 给定两个数组,编写一个函数来计算它们的交集。 示例 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[9,4] 解 阅读全文 »
posted @ 2021-07-24 09:13 Curryxin 阅读(77) 评论(0) 推荐(0) 编辑
摘要:136. 只出现一次的数字 知识点:哈希表;set;消消乐;位运算 题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 输入: [2,2,1] 输出: 1 输入: [4 阅读全文 »
posted @ 2021-07-23 22:40 Curryxin 阅读(50) 评论(0) 推荐(0) 编辑
摘要:260. 只出现一次的数字 III(剑指 Offer 56 -I) 知识点:数组;位运算;消消乐 题目描述 给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 进阶:你的算法应该具有线性时间复杂度。你能否仅使 阅读全文 »
posted @ 2021-07-23 22:32 Curryxin 阅读(88) 评论(0) 推荐(0) 编辑
摘要:137. 只出现一次的数字 II(剑指offer 56-II) 知识点:哈希表;位运算 题目描述 给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 输 阅读全文 »
posted @ 2021-07-23 21:54 Curryxin 阅读(214) 评论(0) 推荐(0) 编辑
摘要:1207. 独一无二的出现次数 知识点:set;哈希表 题目描述 给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。 如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。。 示例 输入:arr = [1,2,2,1,1,3] 输出:true 解释:在该数组中,1 阅读全文 »
posted @ 2021-07-23 20:43 Curryxin 阅读(34) 评论(0) 推荐(0) 编辑
摘要:242. 有效的字母异位词 知识点:字符串;哈希表 题目描述 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 输入: s = "anagram", t = "nagaram" 阅读全文 »
posted @ 2021-07-23 20:25 Curryxin 阅读(66) 评论(0) 推荐(0) 编辑
摘要:28. 实现 strStr() 知识点:字符串;KMP算法 题目描述 实现 strStr() 函数。 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。 说明 当 nee 阅读全文 »
posted @ 2021-07-23 00:32 Curryxin 阅读(129) 评论(0) 推荐(0) 编辑
摘要:12. 整数转罗马数字 知识点:字符串 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 阅读全文 »
posted @ 2021-07-22 22:43 Curryxin 阅读(118) 评论(0) 推荐(0) 编辑
摘要:13. 罗马数字转整数 知识点:字符串 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 阅读全文 »
posted @ 2021-07-22 22:15 Curryxin 阅读(120) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 58 - II. 左旋转字符串 知识点:字符串; 题目描述 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 示例 输入: s 阅读全文 »
posted @ 2021-07-22 21:45 Curryxin 阅读(46) 评论(0) 推荐(0) 编辑
摘要:151. 翻转字符串里的单词 知识点:字符串;双指针 题目描述 给你一个字符串 s ,逐个翻转字符串中的所有 单词 。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 请你返回一个翻转 s 中单词顺序并用单个空格相连的字符串。 说明: 输入字符串 s 可以在前面 阅读全文 »
posted @ 2021-07-21 22:49 Curryxin 阅读(84) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 05. 替换空格 知识点:; 题目描述 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 输入:s = "We are happy." 输出:"We%20are%20happy." 解法一: 因为我们不知道最后替代后的长度是多少,所以可以用可变长的数组String 阅读全文 »
posted @ 2021-07-21 21:42 Curryxin 阅读(34) 评论(0) 推荐(0) 编辑
摘要:344. 反转字符串 知识点:字符串; 双指针 题目描述 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表 阅读全文 »
posted @ 2021-07-21 21:25 Curryxin 阅读(31) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 52. 两个链表的第一个公共节点 知识点:链表; 题目描述 输入两个链表,找出它们的第一个公共节点。 如下面的两个链表: 示例 示例1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 阅读全文 »
posted @ 2021-07-21 09:44 Curryxin 阅读(46) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 22. 链表中倒数第k个节点 知识点:链表;双指针 题目描述 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 阅读全文 »
posted @ 2021-07-21 09:14 Curryxin 阅读(50) 评论(0) 推荐(0) 编辑
摘要:61. 旋转链表 知识点:链表; 题目描述 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 输入:head = [1,2,3,4,5], k = 2 输出:[4,5,1,2,3] 输入:head = [0,1,2], k = 4 输出:[2,0,1] 解法一: 阅读全文 »
posted @ 2021-07-20 22:27 Curryxin 阅读(104) 评论(0) 推荐(0) 编辑
摘要:86. 分隔链表 知识点:链表; 题目描述 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初始相对位置。 示例 输入:head = [1,4,3,2,5,2], x = 3 阅读全文 »
posted @ 2021-07-20 21:47 Curryxin 阅读(35) 评论(0) 推荐(0) 编辑
摘要:单例模式Singleton 1.含义 单例模式:即一个类只能创建一个实例。 应用场景:程序只有一个类实例,所以可以把频繁实例化并且销毁的对象用单例模式, 比如打印机,一个计算机有多个打印机的时候,只能创建一个实例,避免两个打印作业同时输出到打印机; 比如任务管理器,这就是单例模式; 只有一个实例 - 阅读全文 »
posted @ 2021-07-20 20:09 Curryxin 阅读(68) 评论(0) 推荐(0) 编辑
摘要:21. 合并两个有序链表 知识点:链表; 题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 输入:l1 = [], l2 = [] 输出:[] 阅读全文 »
posted @ 2021-07-19 22:21 Curryxin 阅读(57) 评论(0) 推荐(0) 编辑
摘要:转载于:SpringMVC笔记 SpringMVC 1.SpringMVC概述 MVC: Model(模型): 数据模型,提供要展示的数据,:Value Object(数据Dao) 和 服务层(行为Service),提供数据和业务。 View(视图): 负责进行模型的展示,即用户界面 Control 阅读全文 »
posted @ 2021-07-17 15:54 Curryxin 阅读(57) 评论(0) 推荐(0) 编辑
摘要:转载:博主主页 博主的其他笔记汇总 : 👉 学习数据结构与算法,学习笔记会持续更新: 《恋上数据结构与算法》学习Java虚拟机,学习笔记会持续更新: 《Java虚拟机》学习Java并发编程,学习笔记会持续更新: 《Java并发编程》学习Java设计模式,学习笔记会持续更新: 《Java设计模式》学 阅读全文 »
posted @ 2021-07-17 15:49 Curryxin 阅读(87) 评论(0) 推荐(0) 编辑
摘要:【前缀和】560. 和为K的子数组 知识点:数组;前缀和; 题目描述 给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 示例 输入:nums = [1,1,1], k = 2 输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。 解法一:暴力法 直接以每个 阅读全文 »
posted @ 2021-07-17 11:18 Curryxin 阅读(79) 评论(0) 推荐(0) 编辑
摘要:930. 和相同的二元子数组 知识点:数组;前缀和; 题目描述 给你一个二元数组 nums ,和一个整数 goal ,请你统计并返回有多少个和为 goal 的 非空 子数组。 子数组 是数组的一段连续部分。 示例 输入:nums = [1,0,1,0,1], goal = 2 输出:4 解释: 有 阅读全文 »
posted @ 2021-07-17 11:15 Curryxin 阅读(93) 评论(0) 推荐(0) 编辑
摘要:523. 连续的子数组和 知识点:数组;前缀和; 题目描述 给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组: 子数组大小 至少为 2 ,且 子数组元素总和为 k 的倍数。 如果存在,返回 true ;否则,返回 false 。 如果存在一个 阅读全文 »
posted @ 2021-07-17 10:58 Curryxin 阅读(150) 评论(0) 推荐(0) 编辑
摘要:974. 和可被 K 整除的子数组 知识点:数组;前缀和; 题目描述 给定一个整数数组 A,返回其中元素之和可被 K 整除的(连续、非空)子数组的数目。 示例 输入:A = [4,5,0,-2,-3,1], K = 5 输出:7 解释: 有 7 个子数组满足其元素之和可被 K = 5 整除: [4, 阅读全文 »
posted @ 2021-07-17 10:29 Curryxin 阅读(134) 评论(0) 推荐(0) 编辑
摘要:1248. 统计「优美子数组」 知识点:数组;前缀和; 题目描述 给你一个整数数组 nums 和一个整数 k。 如果某个 连续 子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。 请返回这个数组中「优美子数组」的数目 示例 输入:nums = [1,1,2,1,1], k = 3 阅读全文 »
posted @ 2021-07-17 09:48 Curryxin 阅读(48) 评论(0) 推荐(0) 编辑
摘要:724. 寻找数组的中心下标 知识点:数组;前缀和; 题目描述 给你一个整数数组 nums ,请计算数组的 中心下标 。 数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。 如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中 阅读全文 »
posted @ 2021-07-17 09:23 Curryxin 阅读(122) 评论(0) 推荐(0) 编辑
摘要:75. 颜色分类 知识点:数组;双指针;; 题目描述 找出数组中重复的数字。 给定一个包含红色、白色和蓝色,一共n个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 示例 输入:nums = 阅读全文 »
posted @ 2021-07-16 22:09 Curryxin 阅读(37) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 03. 数组中重复的数字 知识点:数组;哈希表;萝卜占坑思想 题目描述 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 阅读全文 »
posted @ 2021-07-16 21:28 Curryxin 阅读(38) 评论(0) 推荐(0) 编辑
摘要:排序 1.问题引出 给定一个整数数组,按从小到大的数组将其进行排序; 2.冒泡排序 2.1 思路 冒泡排序应该是最简单的一种排序算法了,其特定是是一种稳定的排序算法; 一般情况下,称某个排序算法稳定,指的是当待排序序列中有相同的元素时,它们的相对位置在排序前后不会发生改变。 假设待排序序列为 (5, 阅读全文 »
posted @ 2021-07-15 11:17 Curryxin 阅读(105) 评论(0) 推荐(0) 编辑
摘要:KMP算法 1.问题引出 字符串匹配问题 所谓字符串匹配,是这样一种问题:“字符串 P 是否为字符串 S 的子串?如果是,它出现在 S 的哪些位置?” 其中 S 称为主串;P 称为模式串。也就是在S串中找P串,并返回S串中出现的位置; 也就是leetcode的第28题 2. Brute-Force( 阅读全文 »
posted @ 2021-07-15 10:18 Curryxin 阅读(313) 评论(0) 推荐(0) 编辑
摘要:66. 加一 知识点:数组; 题目描述 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 输入:digits = [1,2,3] 输出:[1,2,4] 阅读全文 »
posted @ 2021-07-12 22:37 Curryxin 阅读(32) 评论(0) 推荐(0) 编辑
摘要:59.螺旋矩阵II 知识点:数组; 题目描述 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 输入:n = 3 输出:[[1,2,3],[8,9,4],[7,6,5]] 输入:n = 1 输出:[[1]] 解法 阅读全文 »
posted @ 2021-07-12 22:17 Curryxin 阅读(35) 评论(0) 推荐(0) 编辑
摘要:54. 螺旋矩阵 知识点:数组; 题目描述 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 输入:matrix = [[1 阅读全文 »
posted @ 2021-07-12 22:00 Curryxin 阅读(55) 评论(0) 推荐(0) 编辑
摘要:1.两数之和 知识点:数组,哈希表; 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 阅读全文 »
posted @ 2021-07-12 21:30 Curryxin 阅读(73) 评论(0) 推荐(0) 编辑

Live2D
欢迎阅读『2021 年 7月 随笔档案』
点击右上角即可分享
微信分享提示