算法
阳光明媚sunny
学习笔记
越努力,越幸运
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
分糖果算法题
分糖果,圣诞节到了,城堡里有k个小朋友,圣诞老人魔力袋里带了n件无差别的小礼物,请圣诞老人处理,将n个无差别的礼物分给k个小朋友的分法问题,给定n和k,输出总分法总数,并枚举所有的分法。其中 | 作为分隔符,每个小朋友的糖果用星号表示。示例:3个糖果分给2个小朋友。原创 2025-11-08 21:25:25 · 363 阅读 · 0 评论 -
合并两个排序的链表
int val;原创 2025-10-29 15:44:49 · 160 阅读 · 0 评论 -
单链表逆序java
在Java中实现单链表的逆序,可以通过迭代或递归两种方式。原创 2025-09-06 17:55:35 · 151 阅读 · 0 评论 -
常用排序算法
冒泡排序是一种典型的排序方法,其基本思想是通过两两比较相邻记录的关键字,使关键字较大的记录如气泡一般逐渐往上“漂浮”。:重新排列数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面。:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。原理:每次从未排序部分中找到最小(或最大)元素,将其放到已排序序列的末尾。:递归地将小于基准值元素的子数列和大于基准值元素的子数列排序。:在保持元素顺序的同时将上一步得到的子序列合并到一起。原创 2025-08-25 16:42:21 · 413 阅读 · 0 评论 -
二分查找(Binary Search)
二分查找是一种在有序数组中快速查找目标元素的高效算法,时间复杂度为 O(log n),比线性查找的 O(n) 快得多。原创 2025-08-17 22:21:23 · 230 阅读 · 0 评论 -
斐波那契数非递归实现
F(n)=F(n−1)+F(n−2) (当 n≥2 时)思路:用数组存储所有中间结果,适合需要多次查询的场景。思路:用变量缓存前两个数,逐步计算后续值。方法 2:动态规划(带缓存)时间复杂度: O(n)空间复杂度: O(1)时间复杂度: O(n)空间复杂度: O(n)原创 2025-08-10 13:36:33 · 244 阅读 · 0 评论 -
笛卡尔积算法的Java实现
笛卡尔积算法的Java实现: (1)循环内,每次只有一列向下移一个单元格,就是CounterIndex指向的那列。 (2)如果该列到尾部了,则这列index重置为0,而CounterIndex则指向前一列,相当于进位,把前列的index加一。 (3)最后,由生成的行数来控制退出循环。 [java] view plain copy转载 2016-08-18 11:05:10 · 938 阅读 · 0 评论 -
快速排序算法
原文地址:http://www.sczyh30.com/posts/Algorithm/algorithm-quicksort/快速排序的基本实现快速排序算法是一种基于交换的高效的排序算法,它采用了分治法的思想:从数列中取出一个数作为基准数(枢轴,pivot)。将数组进行划分(partition),将比基准数大的元素都移至枢轴右边,将小于等于基准数的转载 2016-11-14 21:54:23 · 239 阅读 · 0 评论
分享