- ⭐写在前面的话:本系列文章旨在复习算法刷题中常用的基础算法与数据结构,配以详细的图例解释,总结相应的代码模板,同时结合例题以达到最佳的学习效果。本专栏面向算法零基础但有一定的C++基础的学习者。若C++基础不牢固,可参考:10min快速回顾C++语法,进行语法复习。🔥本文已收录于算法基础系列专栏: 算法基础教程 免费订阅,持续更新。 二分 整数二分如果有单调性,就一定可以二分。但是有二分的... ⭐写在前面的话:本系列文章旨在复习算法刷题中常用的基础算法与数据结构,配以详细的图例解释,总结相应的代码模板,同时结合例题以达到最佳的学习效果。本专栏面向算法零基础但有一定的C++基础的学习者。若C++基础不牢固,可参考:10min快速回顾C++语法,进行语法复习。🔥本文已收录于算法基础系列专栏: 算法基础教程 免费订阅,持续更新。 二分 整数二分如果有单调性,就一定可以二分。但是有二分的...
- 前言 这个是jdk1.5以后才引入的新的内容。java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装称为装箱,解包装称为拆箱); 其实按照我自己的理解自动装箱就可以简单的理解为将基本数据类型封装为对象类型,来符合java的面向对象;例如用int来举例: //声明一个Integer对象 Integer num = 10; ... 前言 这个是jdk1.5以后才引入的新的内容。java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装称为装箱,解包装称为拆箱); 其实按照我自己的理解自动装箱就可以简单的理解为将基本数据类型封装为对象类型,来符合java的面向对象;例如用int来举例: //声明一个Integer对象 Integer num = 10; ...
- 1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet);ArrayList,LinkedList,Vector都属于ListList:元素是有顺序的,元素可以重复因为每个元素有自己的角标(索引) |-- ArrayList:底层的数据结构是数组结构,特点是:查询很快,增 删 稍微慢点,线程不同步 |--... 1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet);ArrayList,LinkedList,Vector都属于ListList:元素是有顺序的,元素可以重复因为每个元素有自己的角标(索引) |-- ArrayList:底层的数据结构是数组结构,特点是:查询很快,增 删 稍微慢点,线程不同步 |--...
- 数组(容器) 数组是一组数据类型相同的数据的组合,将这些数据统一的管理起来 数组本身是一个引用数据类型,数组内存储的类型可以是基本类型 也可以是引用类型 数组的特点 1.数组本身是一个引用数据类型 2.数组是在堆内存中的一串连续的地址存在 3.数组在初始化时必须指定长度 4.堆内存的数组空间长度一旦确定 不能再次发生改变 5.栈内存的变量中存储的是数组的地址引用 6.数组内部存 数组(容器) 数组是一组数据类型相同的数据的组合,将这些数据统一的管理起来 数组本身是一个引用数据类型,数组内存储的类型可以是基本类型 也可以是引用类型 数组的特点 1.数组本身是一个引用数据类型 2.数组是在堆内存中的一串连续的地址存在 3.数组在初始化时必须指定长度 4.堆内存的数组空间长度一旦确定 不能再次发生改变 5.栈内存的变量中存储的是数组的地址引用 6.数组内部存
- ## Java的由来笔记 1.Java语言的创始人 James-Gosling 2.Java语言的公司 SUN Standford University Network--->SUN Microsystems 3.Java语言的几个重大事件 1995 正式发布 1996 正式发布了可以下载的JDK工具包 JDK1.0 1999 发布第二代Java平台 简称J ## Java的由来笔记 1.Java语言的创始人 James-Gosling 2.Java语言的公司 SUN Standford University Network--->SUN Microsystems 3.Java语言的几个重大事件 1995 正式发布 1996 正式发布了可以下载的JDK工具包 JDK1.0 1999 发布第二代Java平台 简称J
- 通过使用Scanner类的next()与nextLine()方法获取输入的字符串,在读取之前一般需要使用hasNext()与hasNextLine()进行判断是否还有输入的数据。 通过使用Scanner类的next()与nextLine()方法获取输入的字符串,在读取之前一般需要使用hasNext()与hasNextLine()进行判断是否还有输入的数据。
- 填空和编程题练习 填空和编程题练习
- 题目给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。示例:输入: 3 / \ 9 20 / \ 15 7输出:[3, 14.5, 11]解释:第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回 [3, 14.5, 11] 。 解题思路类似本题这种需要求解关于二叉树层次的,我们可以首先使用广度优先搜索。从二叉树的根节点开... 题目给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。示例:输入: 3 / \ 9 20 / \ 15 7输出:[3, 14.5, 11]解释:第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回 [3, 14.5, 11] 。 解题思路类似本题这种需要求解关于二叉树层次的,我们可以首先使用广度优先搜索。从二叉树的根节点开...
- 题目给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 13 。对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。返回这些数字之和。题目数据保证答案是一个 32 位 整数。示例1输入:root = [1,0,1,0,1... 题目给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 13 。对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。返回这些数字之和。题目数据保证答案是一个 32 位 整数。示例1输入:root = [1,0,1,0,1...
- 题目给你一棵二叉搜索树,请你 按中序遍历 将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点。示例1输入:root = [5,3,6,2,4,null,8,1,null,null,null,7,9]输出:[1,null,2,null,3,null,4,null,5,null,6,null,7,null,8,null,9]示例2输入... 题目给你一棵二叉搜索树,请你 按中序遍历 将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点。示例1输入:root = [5,3,6,2,4,null,8,1,null,null,null,7,9]输出:[1,null,2,null,3,null,4,null,5,null,6,null,7,null,8,null,9]示例2输入...
- 题目给定一个二叉树的根节点 root ,返回它的 中序 遍历。示例1:输入:root = [1,null,2,3]输出:[1,3,2]示例2:输入:root = []输出:[]示例3:输入:root = [1]输出:[1]示例4:输入:root = [1,2]输出:[2,1] 解题思路使用递归首先使用递归的方式来求解此题是最方便,最快捷的手段;二叉树的中序遍历的顺序为:访问左子树,访问根节... 题目给定一个二叉树的根节点 root ,返回它的 中序 遍历。示例1:输入:root = [1,null,2,3]输出:[1,3,2]示例2:输入:root = []输出:[]示例3:输入:root = [1]输出:[1]示例4:输入:root = [1,2]输出:[2,1] 解题思路使用递归首先使用递归的方式来求解此题是最方便,最快捷的手段;二叉树的中序遍历的顺序为:访问左子树,访问根节...
- 题目给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例1:输入: root = [3,5,1,6,2,0,... 题目给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例1:输入: root = [3,5,1,6,2,0,...
- 牛牛喜欢整数序列,他认为一个序列美丽的定义是1:每个数都在0到40之间2:每个数都小于等于之前的数的平均值具体地说:for each i, 1 <= i < N, A[i] <= (A[0] + A[1] + ... + A[i-1]) / i.3:没有三个连续的递减的数现在给你一个序列,每个元素是-1到40,你可以将序列中的-1修改成任意的数,求你可以得到多少个美丽序列,答案对1e9+7取模 牛牛喜欢整数序列,他认为一个序列美丽的定义是1:每个数都在0到40之间2:每个数都小于等于之前的数的平均值具体地说:for each i, 1 <= i < N, A[i] <= (A[0] + A[1] + ... + A[i-1]) / i.3:没有三个连续的递减的数现在给你一个序列,每个元素是-1到40,你可以将序列中的-1修改成任意的数,求你可以得到多少个美丽序列,答案对1e9+7取模
- Hello, 大家好,今天给大家带来的关于二叉树相关的算法题是二叉搜索树中的搜索,正文如下: 题目:给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。例如:你应该返回如下子树:在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。 解题思路递归实现非常简单:如果根节... Hello, 大家好,今天给大家带来的关于二叉树相关的算法题是二叉搜索树中的搜索,正文如下: 题目:给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。例如:你应该返回如下子树:在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。 解题思路递归实现非常简单:如果根节...
- 咱们继续来刷二叉树,今天要讲的是如果构建最小高度的树。 题目给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。 示例 解题思路首先我们先复习一下二叉搜索树的定义:对于树中的所有子树,左子树上的值都小于根节点的值,右子树上的值都大于根节点上的值。通过中序遍历可以得到一个升序序列。那如何保证高度最小呢?既然是要构... 咱们继续来刷二叉树,今天要讲的是如果构建最小高度的树。 题目给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。 示例 解题思路首先我们先复习一下二叉搜索树的定义:对于树中的所有子树,左子树上的值都小于根节点的值,右子树上的值都大于根节点上的值。通过中序遍历可以得到一个升序序列。那如何保证高度最小呢?既然是要构...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第三期2026/08/21 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;念擎-华为云AI开发者运营案例开发专家
本期直播内容:AI六层能力首次详细解读 + 新一代华为云开发者空间亮相 + 校园案例直播带练
回顾中 -
华为云监控CES新特性解读2026/08/26 周三 19:00-20:30
刘英杰-华为云监控产品专家
华为云监控 CES H1 版本重磅全新升级!本次直播特邀华为云监控产品专家,围绕特性深度解读 + 现场实操演示 + 实时线上答疑三大模块,全方位拆解版本核心亮点,直击运维各类痛点难题。助力实现告警高效配置、指标快速检索、插件便捷部署,切实降低运维工作负担,提升监控运维工作效率。欢迎预约观看,互动提问交流!
回顾中
热门标签