
算法
Yangshiwei....
好好努力
展开
-
力扣824. 山羊拉丁文
刷力扣的时候做到了一道有意思的题,想写写自己的思路和一些解题方法。 首先字符串的拼接想到的是stringbuffer,用他的append方法 先用split方法切割字符串,然后我们要先判断第一个字符是不是元音,因为他有大小写之分,其实也就是判断是否为aAeE等10个字符,是则直接append原单词,否则的话用substring方法切割出除第一个字符的字符串,然后先拼接字符串在拼接首字符,最后统一拼接ma,以及a的索引,索引我们可以用另一个stringbuffer来写,没执行一次i,append一个...原创 2022-04-21 17:09:26 · 171 阅读 · 0 评论 -
八大排序 快速排序
基本思想 快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 算法描述 快速排序使用分治法来把一个串(名单)分为两个子串(子列表)具体算法描述如下: 1、会把数组当中的一个数当成基准数 2、一般会把数组中最左边的数当成基准数,然后丛两边进行检索。丛右边检索比基准数小的,然后左边检索比基准数大的。如果检索到了,就停下,然后交换这两个元素,然后继续检索。 3、递归地(...原创 2022-01-17 23:48:46 · 491 阅读 · 0 评论 -
插入排序总结
基本原理 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 代码: // int[] arr = new int[] {17,3,25,14,20,9}; public static void main(String[] args) { int[] arr =...原创 2021-10-16 02:08:50 · 94 阅读 · 0 评论 -
冒泡排序总结
冒泡排序的基本原理 提到冒泡,我最先想到的是鱼在水里吐泡泡时,泡泡一个一个往上冒。冒泡排序也是这样,对存放原始数组的数据,按照从前往后的方向进行多次扫描,每次扫描都称为一趟。当发现相邻两个数据的大小次序不符合时,即将这两个数据进行互换,如果从大到小排序,这时较大的数据就会逐个往后移动,好像气泡网上漂浮一样。 冒泡排序的特点: 升序排序当中每一轮比较会把最大的数沉到最底(这里以从小到大为例),所有相互比较的次数每一轮会比前一轮少一次。 关键代码: for (int i = 0; i < arr原创 2021-09-18 19:11:50 · 177 阅读 · 0 评论