随笔分类 -  Algorithm

摘要:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters 示例 示例 1: 输入: s 阅读全文
posted @ 2022-07-20 19:02 白日醒梦 阅读(109) 评论(0) 推荐(0) 编辑
摘要:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters 示例 示例 1: 输入: s 阅读全文
posted @ 2022-07-20 18:46 白日醒梦 阅读(364) 评论(0) 推荐(0) 编辑
摘要:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 来源:力扣(LeetCode) 链接:https://leetcode cn.com/problems/longest substring without repeating characters 示例 示例 1: 示例 2: 阅读全文
posted @ 2022-06-07 13:30 白日醒梦 阅读(70) 评论(0) 推荐(0) 编辑
摘要:从 0 开始按上左下右的顺序一层一层往外探索 代码实现 阅读全文
posted @ 2021-10-19 09:52 白日醒梦 阅读(75) 评论(0) 推荐(0) 编辑
摘要:交换排序 交换排序算法描述:比较相邻两个元素大小,如果反序,则交换。 交换排序算法有两种:冒泡排序和快速排序 快速排序 算法描述 快速排序在数据序列中选择一个元素做为基准值(一般会选择第一个元素或最后一个元素),每趟从数据序列的两端开始交替进行,将小于基准值的元素交换到序列前端,将大于基准值的元素交 阅读全文
posted @ 2021-09-23 14:26 白日醒梦 阅读(117) 评论(0) 推荐(0) 编辑
摘要:算法描述 希尔排序(shell sort)这个排序方法又称为缩小增量排序,是1959年D·L·Shell提出来的。该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时, 阅读全文
posted @ 2021-09-23 13:47 白日醒梦 阅读(61) 评论(0) 推荐(0) 编辑
摘要:交换排序 交换排序算法描述:比较相邻两个元素大小,如果反序,则交换。 交换排序算法有两种:冒泡排序和快速排序 冒泡排序 算法描述 冒泡排序比较相邻两个元素的大小,如果反序,则交换,若按升序排序,每趟将数据序列中的最大元素交换到最后位置,就像气泡从水里冒出来一样。 算法思路 算法实现 Java实现 阅读全文
posted @ 2021-09-23 13:45 白日醒梦 阅读(71) 评论(0) 推荐(0) 编辑
摘要:算法描述 直接插入排序算法描述如下: 设线性序列是{a0,a1,...ai 1,ai,...,an 1}。 1. 第 `i (1 0,a1,...,ai 1}子序列是排序的,将元素 ai 插入 {a0,a1,...,ai 1} 的适当位置,使插入后的子序仍然是排序的,ai 的插入位置由关键字比较大小 阅读全文
posted @ 2021-09-21 16:16 白日醒梦 阅读(181) 评论(0) 推荐(0) 编辑
摘要:什么是二分法查找 二分查找也称折半查找(BinarySearch),它是一种采用分治策略的算法,他将问题分解为规模更小的的子问题,分而治之,逐一解决。采用二分法查找的前提条件是:要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 二分法查找使用场景 二分法查找适用于数据量较大时,但是数据 阅读全文
posted @ 2021-09-20 21:57 白日醒梦 阅读(548) 评论(0) 推荐(0) 编辑
摘要:使用 chatAt() 方法 利用 String 的 CharAt 方法取出字符串中的各个字符 转为数组后拼接字符串 利用 String 的 toCharArray 方法先将字符串转化为 char 类型数组,然后将各个字符进行重新拼接。 StringBuilder 中的 reverse 成员方法 利 阅读全文
posted @ 2021-09-20 16:21 白日醒梦 阅读(178) 评论(0) 推荐(0) 编辑
摘要:经典案例 1. 古代某法官要判决 n 个犯人死刑,他有一条荒唐的逻辑,将犯人首尾的相接排成圆圈,然后从第 start 开始数起,每数到第 distance 个犯人,就拉出来处决;然后又数 distance 个,数到的犯人又拉出来处决,依次类推。剩下的最后一人可以豁免。 2. 一群猴子排成一圈,按1, 阅读全文
posted @ 2021-09-20 14:06 白日醒梦 阅读(306) 评论(0) 推荐(0) 编辑
摘要:斐波那契数列 编程实现费式数列中第 n 项的数值并返回。 费式数列: 分析规律 1. 第 1 项和第 2 项固定为 1。 2. 从第 3 项起每一个数值是前两项的和。 递归实现 递归实现会影响程序的执行性能 不推荐使用 递推实现 public int seriesFor(int n) { // 当 阅读全文
posted @ 2021-08-22 15:44 白日醒梦 阅读(200) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩