![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
水郭
梦想的力量,你我同行!
展开
-
求字符串中最长连续递增的数字子串的长度
如题,给定一个字符串,求字符串中最长连续递增的数字子串的长度。 字符串全部由小写字母和数字组成。 用例1:1234aa12345ab123456 结果:6 . 最长连续递增的数字子串为123456 用例2:bv1234aa412345ab341234567 结果:7. 最长连续递增的数字子串为1234567 用例3:54345689bv12345cd2123545454789 结果:6. 最长连续递增的数字子串为345689 题解: 由上题描述可知,求字符串中最长连续递增的数字子串的长度。原创 2021-10-02 15:50:48 · 2002 阅读 · 0 评论 -
java之冒泡排序(优化版)
冒泡排序的核心点是: 通过一次遍历数组,判断相邻元素之间是否满足升序或降序的条件。如果不满足则交换这两个相邻的元素。当这一次遍历结束后,则将最大或最小的元素下沉到了数组的末尾。 所以,当数组的长度为n时,按照以上方式遍历n次数组,即可将整个数组按照规则排序。 在最坏的情况下,当数组的长度为n时,遍历n次数组,每次都存在元素交换。但是当除去这种最坏的时,我们可能只需要遍历更少的次数(剩下的次数不存在元素交换),就可以达到整个数组排序的目的。这样排序的效率会提高很多。 如下代码所示: // 冒泡排序原创 2021-06-14 12:29:48 · 1530 阅读 · 1 评论 -
java之快速排序
快速排序的核心点是: 将数组的第一个元素当做一个基准点,然后从数组的两端向中间遍历数组。 即:从右往左遍历数组,查找小于基准点的值。然后从左往右遍历数组查找大于基准点的值。当找到后,将这两个值进行交换,然后在继续遍历查找。 快速排序和冒泡排序的最明显区别就是,快速排序交换的不一定是两个相邻的元素,它的元素交换是跳跃式的。而冒泡排序它是交换两个相邻的元素,已达到目的。 快速排序的具体细节如下代码所示: // 快速排序 private static void quickSort(int[] nums,原创 2021-06-14 12:49:23 · 163 阅读 · 0 评论