自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 收藏
  • 关注

原创 刷题注意事项及相关知识(持续更新)

目录 注意事项相关知识1.基础2.数组3.字符及字符串4.树5.集合6.Math注意事项在无法确定运算先后顺序时加上括号是最稳妥的方法字符串:首先确定字符串长度,字符范围,将边界条件先写出来树:二叉树还是二叉搜索树,节点个数,节点是否会重复递归三要素不同的方法一定不是一个方法相关知识1.基础& 与运算符,两个数字做与运算指的是相应的二进制,按照对应位置进行与运算,1为真,0为假,一假即假| 或运算符,两个数字做或运算指的是相应的二进制,按照对应位置进行或运算,1为真,0为假,

2020-11-03 10:45:05 245

原创 LRU & LFU实现

LRU设计和构建一个“最近最久使用”缓存,该缓存会删除最近最少使用的项目。缓存应该从键映射到值(允许你插入和检索特定键对应的值),并在初始化时指定最大容量。当缓存被填满时,它应该删除最近最少使用的项目。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥不存在,则写入其数据值。当缓存容量达到上限时,它应该在写入新数据之前删

2021-07-21 15:45:00 382 2

原创 设计模式总结

目录概述什么是设计模式设计模式六大原则设计模式都有哪些?创建型工厂方法模式抽象工厂模式单例模式概述饿汉式双重校验懒汉式静态内部类式注册表登记式枚举式结构型装饰器模式代理模式静态代理动态代理行为型概述什么是设计模式设计模式代表了面向对象编程的最佳实践,使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式六大原则开闭原则:对扩展开放、对修改关闭里氏替换原则:子类可以替换父类单一职责原则:(接口隔离原则)一个类只做一件事依赖倒置原则:面向接口编程,依赖抽象而不依赖于具体

2021-06-24 17:04:57 280

原创 Java基础

目录基础Java语言有哪些特点?Java和C++有什么关系,它们有什么区别?JVM、JRE和JDK的关系是什么?什么是字节码?采用字节码的好处是什么?Java 是编译执行的语言,还是解释执行的语言?Oracle JDK 和 OpenJDK 的区别是什么?Java有哪些数据类型?switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上?访问修饰符public、private、protected、以及不写(默认)时的区别?break ,continue ,return

2021-06-22 11:49:40 1022

原创 MQ总结

目录消息队列为什么使用MQ?MQ的优点MQ的缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点?MQ 有哪些常见问题?如何解决这些问题?Rabbit MQ什么是RabbitMQ?rabbitmq 的使用场景RabbitMQ的工作模式消息如何分发?消息怎么路由?消息基于什么传输?如何保证RabbitMQ消息的顺序性?如何保证消息不被重复消费?或者说,如何保证消息消费时的幂等性?如何确保消息正确地发送至 RabbitMQ? 如何确保消息接收方消费了消息?如何保证RabbitMQ

2021-06-15 20:53:00 268

原创 Spring总结

目录Spring概述什么是Spring?为了简化开发,Spring是如何做的?Spring的优缺点?Spring由哪些模块组成?Spring 框架中都用到了哪些设计模式?IOC什么是IOC?IOC有什么作用?IOC 的原理?@#¥@%#@%@#¥Spring的容器?BeanFactory 和 ApplicationContext有什么区别?ApplicationContext通常的实现是什么?什么是Spring的依赖注入(DI)?依赖注入的方式?构造器依赖注入和 Setter方法注入的区别?Bean什么是S

2021-06-15 11:34:34 75

原创 Redis总结

目录概述Redis是什么?简述它的优缺点?为什么要使用Redis/缓存Redis为什么这么快?Redis相比Memcached有哪些优势?Redis的常用场景有哪些?数据类型Redis的数据类型有哪些?线程模型Redis为何选择单线程?Redis真的是单线程?Redisv6.0为何引入多线程?过期键的删除策略Redis过期键的删除策略?过期键的删除策略都有哪些?内存相关MySQL里有2000w数据,redis中只能存20w的数据,如何保证redis中的数据都是热点数据?Redis内存淘汰机制?Redis如何

2021-06-02 18:51:06 1153 1

原创 MySQL总结

数据库概述为什么要使用数据库/数据库的优点数据保存在内存优点: 存取速度快缺点: 数据不能永久保存数据保存在文件优点: 数据永久保存缺点:1)速度比内存操作慢,频繁的IO操作。2)查询数据不方便数据保存在数据库数据永久保存使用SQL语句,查询方便效率高。管理数据方便数据库三大范式是什么第一范式:每个列都不可以再拆分。第二范式:在第一范式的基础上,非主键列完全依赖于主键,而不能是依赖于主键的一部分。第三范式:在第二范式的基础上,非主键列只依赖于主键,不依赖于其他非主

2021-06-01 16:49:05 110

原创 JVM总结

JVM总结JVM概述JVM 的主要组成部分及其作用?JVM内存运行时数据区的结构是什么样的什么是JVM内存模型?说一下堆栈的区别?什么情况下会发生栈内存溢出?谈谈对 OOM 的认识?如何排查 OOM 的问题?谈谈 JVM 中的常量池?如何判断一个对象是否存活?强引用、软引用、弱引用、虚引用是什么,有什么区别?被引用的对象就一定能存活吗?Java中的垃圾回收算法有哪些?有哪几种垃圾回收器,各自的优缺点是什么?JVM中一次完整的GC是什么样子的?内存分配与回收策略?Minor GC 和 Full GC 有什么不

2021-05-28 12:11:45 905

原创 Java集合容器总结

HashMap存储结构HashMap 的底层数据结构是什么?JDK1.8之前:数组+链表;数组为主体,链表来解决哈希冲突——发生哈希冲突后,使用头插法将冲突值放入链表头部JDK1.8之后:Node数组+链表+红黑树实现,当链表长度超过阈值(8)且数据总量大于等于64时,将链表(查询时间复杂度为O(n))转换为红黑树(时间复杂度为O(log n)),极大的提高了查询效率为什么在解决 hash 冲突的时候,不直接用红黑树?而选择先用链表,再转红黑树?红黑树在插入和删除元素时需要进行左旋,右旋,变色等

2021-05-27 10:23:21 997 1

原创 ArrayList源码解析

ArrayList源码解析简介继承关系图成员变量构造方法内部类核心方法add()方法(有四个)ensureCapacityInternal():对数组的容量进行调整大数据插入问题:ArrayList(int initialCapacity)与ensureCapacity(int minCapacity)remove()方法get()方法set()方法indexOf()方法contains()方法toArray()方法System.arraycopy()方法Arrays.copyOf()方法ArrayLi.

2021-05-26 19:32:53 460 2

原创 HashMap源码探究与经典面试题

目录HashMap源码探究简介特点数据结构JDK1.8之前JDK1.8之后JDK1.7 VS JDK1.81.继承体系2.变量3.构造方法4.静态内部类NodeTreeNode5.方法hash()算法put()方法resize()方法treeifyBin()方法get()方法remove()方法遍历HashMap源码探究简介在JDK1.8之前,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的节点都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过k

2021-05-02 21:55:10 191

原创 二叉树的遍历前中后序遍历框架——递归/栈/Morris

递归时间:N,访问每个节点空间:N,最坏情况下树为链表前序/中序/后序void order(TreeNode root){ if(root == null) { return; } //前序遍历代码位置 preorder(root.left); //中序遍历代码位置 preorder(root.right); //后序遍历代码位置}栈栈的思路就是将递归所使用的虚拟机栈模拟出来时间:N空间:N前序遍历递归思路:先根节点,再左子树,再右子树递归遍历

2021-03-30 16:29:45 224

原创 78. 子集——DFS遍历/位运算/回溯/枚举

目录1.题目2.自我思路及实现回溯3.总结思路及实现简洁的回溯DFS遍历位运算枚举4.相关知识1.题目78. 子集给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1:输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:输入:nums = [0]输出:[[],[0]] 提示:1 &

2021-01-31 23:21:22 567 1

原创 75. 颜色分类——双指针

目录1.题目2.自我思路及实现统计每种颜色的数量重写数组3.总结思路及实现双指针4.相关知识1.题目75. 颜色分类给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 示例 1:输入:nums = [2,0,2,1,1,0]输出:[0,0,1,1,2,2]示例 2:输入:nums = [2,0,1]输出:[0,1,2]示例 3:

2021-01-31 21:03:20 214

原创 MySQL从入门到精通

目录MySQL的启动与退出MySQL的登录与退出第4章 SQL语句SQL概述语法要求分类DQLMySQL的启动与退出图形化界面:【此电脑】-右键-【管理】–【服务和应用程序】–【服务】–【MySQL】-右键-【启动】/【停止】DOS命令行:以管理员身份运行输入net start MySQLnet stop MySQLMySQL的登录与退出DOS命令行:mysql -h主机名 -P端口号 -u用户名 -p密码本机可省略 -h端口为3306可省略 -Pmysql -uroot

2021-01-28 17:14:49 188

原创 62. 不同路径——动态规划/排列组合

1.题目62. 不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径? 示例 1:输入:m = 3, n = 7输出:28示例 2:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向下 -> 向下2. 向下 -> 向

2021-01-27 22:09:39 521

原创 56. 合并区间——排序

目录1.题目2.自我思路及实现3.总结思路及实现排序4.相关知识1.题目56. 合并区间给出一个区间的集合,请合并所有重叠的区间。 示例 1:输入: intervals = [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: intervals = [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [

2021-01-26 15:40:40 272

原创 Java SE——注解

目录注解(Annotation)常见的注解文档相关在编译时进行格式检查(JDK内置的三个基本注解)跟踪代码依赖性,实现替代配置文件功能自定义Annotation注解(Annotation) 从 JDK 5.0 开始, Java 增加了对元数据(MetaData) 的支持, 也就是Annotation(注解)Annotation 其实就是代码里的特殊标记, 这些标记可以在编译, 类加载, 运行时被读取, 并执行相应的处理。通过使用Annotation, 程序员可以在不改变原有逻辑的情况下, 在

2021-01-25 17:50:54 357

原创 55. 跳跃游戏——从前向后贪心/从后向前阈值

目录1.题目2.自我思路及实现3.总结思路及实现从后向前阈值从前向后贪心4.相关知识1.题目55. 跳跃游戏给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样

2021-01-25 14:47:56 188

原创 Java SE —— 枚举类

目录枚举类enum定义枚举类Enum类的主要方法枚举类类的对象只有确定的有限个当需要定义一组常量时,强烈建议使用枚举类enum定义枚举类使用enum定义的枚举类默认继承了java.lang.Enum类,因此不能再继承其他类枚举类的构造器要使用private权限修饰符,私有化保证单例必须在枚举类的第一行声明枚举类对象枚举类对象必须在枚举类中显式列出(,分隔 ;结尾),这些对象系统会自动添加public static final修饰如果有实例变量,声明为private final,并在构

2021-01-19 20:45:51 185

原创 48. 旋转图像——原地旋转/两次翻转

目录1.题目2.自我思路及实现原地旋转3.总结思路及实现两次翻转4.相关知识1.题目48. 旋转图像给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]]

2021-01-19 17:35:16 373

原创 17. 电话号码的字母组合——回溯法

目录1.题目2.自我思路及实现3.总结思路及实现4.相关知识1.题目17. 电话号码的字母组合给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。2.自我思路及实现回溯法使用哈希表

2021-01-18 19:25:12 210

原创 39. 组合总和——回溯法(begin变量)

1.题目39. 组合总和给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。 示例 1:输入:candidates = [2,3,6,7], target = 7,所求解集为:[ [7], [2,2,3]]示例 2:输入:candidates =

2021-01-17 20:37:35 190

原创 JVM学习笔记2.5:垃圾收集器

目录垃圾收集器评估GC的性能指标性能指标:吞吐量性能指标:暂停时间垃圾回收器垃圾回收器发展史7种经典的垃圾收集器与垃圾分代之间的关系垃圾收集器的组合关系Serial/Serial Old回收器:串行回收ParNew收集器:并行回收Parallel Scavenge/Parallel Old收集器:吞吐量优先CMS收集器:低延迟Garbage First(G1)收集器:区域化分代式3.6 低延迟垃圾收集器3.6.1 Shenandoah收集器3.6.2 ZGC收集器垃圾收集器评估GC的性能指标吞吐量:

2021-01-13 17:05:20 533

原创 46. 全排列——回溯算法

目录1.题目2.自我思路及实现3.总结思路及实现4.相关知识1.题目46. 全排列给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]2.自我思路及实现3.总结思路及实现回溯法 :采用试错的思想,它尝试分步的去解决一个问题。在分步解决问题的过程中,当它通过尝试发现现有的分步答案不能得到有效的正确的解答的时候,

2021-01-13 15:44:55 1136

原创 34. 在排序数组中查找元素的第一个和最后一个位置——二分法

目录1.题目2.自我思路及实现3.总结思路及实现4.相关知识1.题目34. 在排序数组中查找元素的第一个和最后一个位置给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。进阶:你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗? 示例 1:输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]示例 2:

2021-01-11 10:28:21 187

原创 (未实现)33. 搜索旋转排序数组——二分法

目录1.题目2.自我思路及实现3.总结思路及实现二分法4.相关知识1.题目33. 搜索旋转排序数组升序排列的整数数组 nums 在预先未知的某个点上进行了旋转(例如, [0,1,2,4,5,6,7] 经旋转后可能变为 [4,5,6,7,0,1,2] )。请你在数组中搜索 target ,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 示例 1:输入:nums = [4,5,6,7,0,1,2], target = 0输出:4示例 2:输入:nums = [4,5,

2021-01-10 21:57:11 161

原创 (已实现)31. 下一个排列——从后向前两遍扫描

目录1.题目2.自我思路及实现3.总结思路及实现4.相关知识1.题目31. 下一个排列实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须 原地 修改,只允许使用额外常数空间。 示例 1:输入:nums = [1,2,3]输出:[1,3,2]示例 2:输入:nums = [3,2,1]输出:[1,2,3]示例 3:输入:nums = [1,1,5]输出:

2021-01-08 10:01:51 83

原创 (未实现)15. 三数之和——排序+双指针

目录1.题目2.自我思路及实现3.总结思路及实现排序+双指针4.相关知识1.题目15. 三数之和给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。 示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]2.自我思路及实现

2021-01-05 17:11:24 67

原创 JVM学习笔记0:Java虚拟机概述

目录第1章 Java虚拟机概述1.1 虚拟机与Java虚拟机1.2 JVM1.2.1 JVM的位置1.2.2 JVM的整体结构1.2.3 Java代码执行流程1.2.4 JVM的架构模型1.2.5 JVM的生命周期虚拟机的启动虚拟机的执行虚拟机的退出1.2.6 JVM发展历程Sun Classic VMExact VMoracle :HotSpot VMJRockit--服务端IBM的J9Taobao JVMGraal VM第1章 Java虚拟机概述1.1 虚拟机与Java虚拟机虚拟机:虚拟的计算机

2021-01-05 10:05:47 361

原创 (未实现)4. 寻找两个正序数组的中位数——二分法划分数组

目录1.题目2.自我思路及实现3.总结思路与实现1.二分法--循环2. 划分数组——二分法4.相关知识1.题目4. 寻找两个正序数组的中位数给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗? 示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:

2021-01-04 16:43:13 130

原创 (已实现)3. 无重复字符的最长子串——动态规划+哈希表/滑动窗口+哈希表

1.题目2.自我思路及实现3.总结思路及实现1.动态规划2.动态规划+哈希表3.滑动窗口(双指针)4.滑动窗口(双指针)+ 哈希表5.将哈希表改为数组4.相关知识1.题目3. 无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b".

2020-12-28 15:48:15 190

原创 (已实现)2. 两数相加——双指针

目录1.题目2.自我思路及实现3.总结思路与实现4.相关知识及注意事项1.题目2. 两数相加给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原

2020-12-24 11:36:21 298 1

原创 JVM学习笔记5:执行引擎

目录第8章 虚拟机字节码执行引擎8.1 概述8.1 Java代码编译和执行过程第8章 虚拟机字节码执行引擎8.1 概述执行引擎属于JVM的下层,里面包括 解释器、及时编译器、垃圾回收器将字节码指令解释/编译为对应平台上的本地机器指令工作流程执行引擎在执行的过程中究竟需要执行什么样的字节码指令完全依赖于PC寄存器。每当执行完一项指令操作后,PC寄存器就会更新下一条需要被执行的指令地址。当然方法在执行的过程中,执行引擎有可能会通过存储在局部变量表中的对象引用准确定位到存储在Java堆区中的

2020-12-23 20:05:43 98

原创 JVM学习笔记4:类加载机制

目录第七章 虚拟机类加载机制7.1 概述7.2 类加载时机7.3 类加载的过程7.3.1 加载7.3.2 验证7.3.3 准备7.3.4 解析7.3.5 初始化7.4 类加载器7.5 Java模块化系统第七章 虚拟机类加载机制7.1 概述类加载机制:Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型的过程7.2 类加载时机. 加载、验证、准备、初始化和卸载这五个阶段的顺序是确定的,类型的加载过程必须按照这种顺序

2020-12-22 20:11:35 324

原创 JVM学习笔记3:类文件结构

目录第6章 类文件结构6.1 Class类文件的结构6.1.1 Magic 与Class文件版本。第6章 类文件结构各种不同平台的Java虚拟机,以及所有平台都统一支持的程序存储格式——字节码(Byte Code)是构成平台、语言无关性的基石。6.1 Class类文件的结构Class文件是一组以8个字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在。当遇到需要占用8个字节以上

2020-12-22 16:04:28 87 1

原创 # 剑指 Offer 13. 机器人的运动范围——DFS/BFS

目录1.题目2.自我思路及实现3.总结思路与实现4.相关知识1.题目剑指 Offer 13. 机器人的运动范围地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达

2020-12-22 11:03:24 96

原创 剑指 Offer 12. 矩阵中的路径——DFS

目录1.题目2.自我思路及实现3.总结思路与实现4.相关知识1.题目剑指 Offer 12. 矩阵中的路径请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。[["a","b","c","e"],["s","f","c","s"],["a","d"

2020-12-21 16:10:02 208

原创 # 剑指 Offer 15. 二进制中1的个数

1.题目剑指 Offer 15. 二进制中1的个数请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。 示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1'。示例 2:输入:00000000000000000000

2020-12-14 21:08:04 55

空空如也

空空如也

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

TA关注的人

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