- 七大排序之希尔排序 前言博主个人社区:开发与算法学习社区博主个人主页:Killing Vibe的博客欢迎大家加入,一起交流学习~~ 一、算法思路希尔排序就是插入排序的优化。又叫做缩小增量排序,O(n1.2n^{1.2}n1.2 - n1.3n^{1.3}n1.3)。不断将小数组调整的近乎有序,整个大数组就接近有序状态,这个时候使用插入排序效率很高的。核心思想:我们发现,当数组近乎有序时,插... 七大排序之希尔排序 前言博主个人社区:开发与算法学习社区博主个人主页:Killing Vibe的博客欢迎大家加入,一起交流学习~~ 一、算法思路希尔排序就是插入排序的优化。又叫做缩小增量排序,O(n1.2n^{1.2}n1.2 - n1.3n^{1.3}n1.3)。不断将小数组调整的近乎有序,整个大数组就接近有序状态,这个时候使用插入排序效率很高的。核心思想:我们发现,当数组近乎有序时,插...
- 七大排序之插入排序 前言博主个人社区:开发与算法学习社区博主个人主页:Killing Vibe的博客欢迎大家加入,一起交流学习~~ 一、直接插入排序插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 1.1 算法图解其实就是打牌码牌的过程。将待排序的集合看做两部分,已排序的区间(0…i) ; 待排序的区间[i... 七大排序之插入排序 前言博主个人社区:开发与算法学习社区博主个人主页:Killing Vibe的博客欢迎大家加入,一起交流学习~~ 一、直接插入排序插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 1.1 算法图解其实就是打牌码牌的过程。将待排序的集合看做两部分,已排序的区间(0…i) ; 待排序的区间[i...
- 七大排序之选择排序 前言博主个人社区:开发与算法学习社区博主个人主页:Killing Vibe的博客欢迎大家加入,一起交流学习~~ 一、直接选择排序选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。 1.1 算法图解每次从无序区间选择一个最大或者最小值的一个元素,放在无序区间的最... 七大排序之选择排序 前言博主个人社区:开发与算法学习社区博主个人主页:Killing Vibe的博客欢迎大家加入,一起交流学习~~ 一、直接选择排序选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。 1.1 算法图解每次从无序区间选择一个最大或者最小值的一个元素,放在无序区间的最...
- 题目给你一个大小为 n x n 的二元矩阵 grid ,其中 1 表示陆地,0 表示水域。岛 是由四面相连的 1 形成的一个最大组,即不会与非组内的任何其他 1 相连。grid 中 恰好存在两座岛 。你可以将任意数量的 0 变为 1 ,以使两座岛连接起来,变成 一座岛 。返回必须翻转的 0 的最小数目。示例 1:输入:grid = [[0,1],[1,0]]输出:1示例 2:输入:grid... 题目给你一个大小为 n x n 的二元矩阵 grid ,其中 1 表示陆地,0 表示水域。岛 是由四面相连的 1 形成的一个最大组,即不会与非组内的任何其他 1 相连。grid 中 恰好存在两座岛 。你可以将任意数量的 0 变为 1 ,以使两座岛连接起来,变成 一座岛 。返回必须翻转的 0 的最小数目。示例 1:输入:grid = [[0,1],[1,0]]输出:1示例 2:输入:grid...
- 交替合并字符串 题目给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。返回 合并后的字符串 。示例 1:输入:word1 = "abc", word2 = "pqr"输出:"apbqcr"解释:字符串合并情况如下所示:word1: a b cword2: ... 交替合并字符串 题目给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。返回 合并后的字符串 。示例 1:输入:word1 = "abc", word2 = "pqr"输出:"apbqcr"解释:字符串合并情况如下所示:word1: a b cword2: ...
- 本文主要详细的介绍了 数组工具类Arrays的相关方法和数学工具类Math的相关方法。通过代码举例,带你更快的理解这两个工具类。 本文主要详细的介绍了 数组工具类Arrays的相关方法和数学工具类Math的相关方法。通过代码举例,带你更快的理解这两个工具类。
- 本文比较偏向基础,适合初学者观看学习。本文主要介绍了一维数组的动态初始化、静态初始化、访问数组元素进行获取、访问数组元素进行赋值、数组索引越界异常、空指针错误、数组的遍历输出、数组的优点和缺点以及 二维数组的静态初始化和动态初始化和二维数组的遍历,并且文中会通过小练习让你对数组的理解更加深刻。本文较长,还请耐心观看,希望能帮到您。 本文比较偏向基础,适合初学者观看学习。本文主要介绍了一维数组的动态初始化、静态初始化、访问数组元素进行获取、访问数组元素进行赋值、数组索引越界异常、空指针错误、数组的遍历输出、数组的优点和缺点以及 二维数组的静态初始化和动态初始化和二维数组的遍历,并且文中会通过小练习让你对数组的理解更加深刻。本文较长,还请耐心观看,希望能帮到您。
- 前言今天给老铁们回顾一下递归的思路以及方法,也是给自己的一个归纳总结。 一、什么是方法递归?所谓的方法递归,就是在一个方法(函数)执行的内部,自己调用了自己的过程,称之为 “递归” 。递归分为两个子过程:递过程:函数不断地调用自身,直到走到函数的终止条件,第一阶段结束。归过程:函数不断地返回的过程。例如, 我们求 N! 起始条件: N = 1 的时候, N! 为 1. 这个起始条件相当于递... 前言今天给老铁们回顾一下递归的思路以及方法,也是给自己的一个归纳总结。 一、什么是方法递归?所谓的方法递归,就是在一个方法(函数)执行的内部,自己调用了自己的过程,称之为 “递归” 。递归分为两个子过程:递过程:函数不断地调用自身,直到走到函数的终止条件,第一阶段结束。归过程:函数不断地返回的过程。例如, 我们求 N! 起始条件: N = 1 的时候, N! 为 1. 这个起始条件相当于递...
- 学习语言的过程要多刷题哦 学习语言的过程要多刷题哦
- 231. 2 的幂题目要求比较简单,这里提供一个非常简单的思路:对于判断是不是2的幂的数,我们只要知道,对于是2的幂的数,它的二进制位只有一个1即可,基于此,我们搬出我们的按位与操作符来解决此题下面看看代码:嫩过就行! 704. 二分查找二分查找哇,一开始就接触了,是我们的老朋友了,现在不知道对它是不是很熟悉呢?提交运行: 905. 按奇偶排序数组题目目的很明确:将 nums 中的的所有偶... 231. 2 的幂题目要求比较简单,这里提供一个非常简单的思路:对于判断是不是2的幂的数,我们只要知道,对于是2的幂的数,它的二进制位只有一个1即可,基于此,我们搬出我们的按位与操作符来解决此题下面看看代码:嫩过就行! 704. 二分查找二分查找哇,一开始就接触了,是我们的老朋友了,现在不知道对它是不是很熟悉呢?提交运行: 905. 按奇偶排序数组题目目的很明确:将 nums 中的的所有偶...
- 13. 罗马数字转整数这道题,我刚开始一看,觉得挺简单,多种情况用switch语句分情况选择不就行了,直接上手代码,但是却忽略了题目中的话:通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况... 13. 罗马数字转整数这道题,我刚开始一看,觉得挺简单,多种情况用switch语句分情况选择不就行了,直接上手代码,但是却忽略了题目中的话:通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况...
- 1.NumpyNumPy作为Python在数据科学领域一个强有力的工具,使得Python在数据函数的实现和矩阵数组的运算上有着巨大的优势。科学计算常用的线性代数运算、傅里叶变换、随机数模块等。优势一:减少编程量。可以省略掉许多循环语句。优势二:增加运算效率。Numpy针对数组进行了优化,存储和输入输出效率都远高于Python数组。Numpy数组要求元素具有相同的数据类型,避免了类型检查。优势... 1.NumpyNumPy作为Python在数据科学领域一个强有力的工具,使得Python在数据函数的实现和矩阵数组的运算上有着巨大的优势。科学计算常用的线性代数运算、傅里叶变换、随机数模块等。优势一:减少编程量。可以省略掉许多循环语句。优势二:增加运算效率。Numpy针对数组进行了优化,存储和输入输出效率都远高于Python数组。Numpy数组要求元素具有相同的数据类型,避免了类型检查。优势...
- 1.介绍python的优势与不足一、语法优雅简单:python代码写起来像英文一样,可读性高,清晰易懂。二、编程范式:python是一门高级的面向对象的编程语言,支持面向过程、面向对象、函数式等编程范式。三、动态解释性:代码可以直接运行不需要编译。可以在运行中修改类的属性。四、第三方库:python拥有功能强大、数据庞大的第三方库,覆盖了诸多领域。五、胶水语言:python可以调用java、... 1.介绍python的优势与不足一、语法优雅简单:python代码写起来像英文一样,可读性高,清晰易懂。二、编程范式:python是一门高级的面向对象的编程语言,支持面向过程、面向对象、函数式等编程范式。三、动态解释性:代码可以直接运行不需要编译。可以在运行中修改类的属性。四、第三方库:python拥有功能强大、数据庞大的第三方库,覆盖了诸多领域。五、胶水语言:python可以调用java、...
- 经过Java初次学习,我们对其有了大概的了解,不过这还不够 下面我们将学习运算符与数据类型转换 ok,那么我们直接开始吧! 经过Java初次学习,我们对其有了大概的了解,不过这还不够 下面我们将学习运算符与数据类型转换 ok,那么我们直接开始吧!
- 给你一个数组 target 和一个整数 n。每次迭代,需要从 list = { 1 , 2 , 3 …, n } 中依次读取一个数字。请使用下述操作来构建目标数组 target :“Push”:从 list 中读取一个新元素, 并将其推入数组中。“Pop”:删除数组中的最后一个元素。如果目标数组构建完成,就停止读取更多元素。题目数据保证目标数组严格递增,并且只包含 1 到 n 之间的数字。... 给你一个数组 target 和一个整数 n。每次迭代,需要从 list = { 1 , 2 , 3 …, n } 中依次读取一个数字。请使用下述操作来构建目标数组 target :“Push”:从 list 中读取一个新元素, 并将其推入数组中。“Pop”:删除数组中的最后一个元素。如果目标数组构建完成,就停止读取更多元素。题目数据保证目标数组严格递增,并且只包含 1 到 n 之间的数字。...
上滑加载中
推荐直播
-
华为云码道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 版本重磅全新升级!本次直播特邀华为云监控产品专家,围绕特性深度解读 + 现场实操演示 + 实时线上答疑三大模块,全方位拆解版本核心亮点,直击运维各类痛点难题。助力实现告警高效配置、指标快速检索、插件便捷部署,切实降低运维工作负担,提升监控运维工作效率。欢迎预约观看,互动提问交流!
回顾中
热门标签