lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  算法

上一页 1 ··· 7 8 9 10 11 12 13 下一页

摘要:1.题目 https://leetcode.cn/problems/single-number/ 考察点 位运算,即对二进制数进行的运算,比如与、或、非、异或等。 异或运算,即按位比较两个数,如果不同则为1,相同则为0。异或运算的符号是^。 异或运算的性质和应用,比如:任何数和0异或,结果还是原来的 阅读全文
posted @ 2023-04-10 19:14 白露~ 阅读(33) 评论(0) 推荐(0)

摘要:1. 位运算的定义 Java位运算是对操作数的二进制位进行运算,操作数和计算结果都是整型。Java位运算有以下几种类型:&与,|或,^异或,~取反,<<左移,>>右移,>>>无符号右移。 2.Java位运算的场景 Java位运算的场景有很多,比如: 判断奇偶数:a & 1 == 0 表示a是偶数,a 阅读全文
posted @ 2023-04-10 17:48 白露~ 阅读(264) 评论(0) 推荐(0)

摘要:1.题目 2.解法 3.总结 阅读全文
posted @ 2023-04-06 16:30 白露~ 阅读(22) 评论(0) 推荐(0)

摘要:1.题目 2.解法 3.总结 阅读全文
posted @ 2023-04-06 16:30 白露~ 阅读(23) 评论(0) 推荐(0)

摘要:1.题目 2.解法 3.总结 阅读全文
posted @ 2023-04-06 16:30 白露~ 阅读(17) 评论(0) 推荐(0)

摘要:1.题目 2.解法 3.总结 阅读全文
posted @ 2023-04-06 16:30 白露~ 阅读(15) 评论(0) 推荐(0)

摘要:1.题目 2.解法 3.总结 阅读全文
posted @ 2023-04-06 16:30 白露~ 阅读(24) 评论(0) 推荐(0)

摘要:1.题目 2.解法 3.总结 阅读全文
posted @ 2023-04-06 16:29 白露~ 阅读(17) 评论(0) 推荐(0)

摘要:1.题目 2.解法 3.总结 阅读全文
posted @ 2023-04-06 16:29 白露~ 阅读(10) 评论(0) 推荐(0)

摘要:1.题目 2.解法 选择排序是一种简单而有效的排序算法, 它的工作原理是:每次从未排序的列表中选择最小(或最大)的元素,将它放到已排序的列表的开头。这个过程重复进行,直到整个列表都排好序。 选择排序的算法思想如下: 将第一个元素设为最小值(min_idx)。从第二个元素开始,依次和最小值比较,如果比 阅读全文
posted @ 2023-04-06 16:29 白露~ 阅读(48) 评论(0) 推荐(0)

摘要:1.题目 2.解法 冒泡排序的算法思想是这样的: 比较相邻的两个元素,如果第一个比第二个大(或小),就交换它们的位置;对每一对相邻的元素重复这个操作,直到遍历完整个数组,这样最大(或最小)的元素就被移动到了数组的末尾;除了最后一个元素,对剩余的元素重复上述步骤,直到数组完全有序。冒泡排序的名字来源于 阅读全文
posted @ 2023-04-06 16:29 白露~ 阅读(38) 评论(0) 推荐(0)

摘要:1.题目 2.解法 插入排序的算法思路是这样的: 将数组的第一个元素看作是已排序的序列,从第二个元素开始,依次往已排序的序列中插入。每次插入时,从已排序的序列的末尾开始比较, 如果待插入的元素小于当前比较的元素,则将当前元素后移一位, 否则将待插入的元素放在当前位置。 重复上述步骤,直到所有的元素都 阅读全文
posted @ 2023-04-06 16:29 白露~ 阅读(33) 评论(0) 推荐(0)

摘要:1.题目 2.解法 快速排序的算法思想是: 通过一趟排序将待排序序列分割成两个子序列,其中一个子序列的元素都比另一个子序列的元素小。然后对两个子序列分别进行快速排序,直到所有元素都有序。快速排序的关键是选择一个合适的基准元素,将其放在正确的位置,并以此划分子序列。选择基准元素的方法有多种,如固定位置 阅读全文
posted @ 2023-04-06 16:29 白露~ 阅读(36) 评论(0) 推荐(0)

摘要:快慢指针算法是一种常用的技巧,用于解决链表中的问题。通常用于链表的遍历、查找等问题 1. 算法的思想 快慢指针算法的思想是:两个指针以不同的速度遍历链表,从而达到目的。其中,快指针每次移动两个节点,而慢指针每次移动一个节点。 2. 常见应用场景 快慢指针的常见应用场景有:判断链表是否有环寻找链表的中 阅读全文
posted @ 2023-03-28 18:01 白露~ 阅读(92) 评论(0) 推荐(0)

摘要:一、基本概念 字符串匹配是计算机科学领域中最古老、研究最广泛的问题之一,层出不穷的前辈们也总结了非常多经典的优秀算法,例如 BF 算法、RK 算法、BM 算法、KMP 算法,今天我介绍的主角是 BM 算法。 字符串匹配可以简单概括为前缀匹配,后缀匹配,子串匹配,下面的讲解我都以最常见的子串匹配为例。 阅读全文
posted @ 2022-12-26 23:55 白露~ 阅读(270) 评论(0) 推荐(0)

摘要:BF算法,即暴力(Brute Force)算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算 阅读全文
posted @ 2022-12-26 23:30 白露~ 阅读(204) 评论(0) 推荐(0)

摘要:/** * rk字符串匹配算法,主要引入了hash的概念, * 利用子串的hash值依次对比主串相应长度的子串hash值 * 并对hash值相同的子串进行匹配对比 */ public class RKSearch { /** * rk算法入口 * @param t 主字符串 * @param p 子 阅读全文
posted @ 2022-12-26 23:27 白露~ 阅读(116) 评论(0) 推荐(0)

摘要:https://zhuanlan.zhihu.com/p/431240843 1 递归算法 1.1 算法策略 1.2 适用场景 1.3 使用递归算法求解的一些经典问题 DOM树为例 2 分治算法 2.1 算法策略 2.2 适用场景 2.3 使用分治法求解的一些经典问题二分查找 3 贪心算法 3.1 阅读全文
posted @ 2022-12-23 23:48 白露~ 阅读(141) 评论(0) 推荐(0)

摘要:贪心算法的产生背景是什么?它主要解决的是哪一类的问题?这些问题可以总结成一个固定的什么样的模型? 产生背景没了解过,但是我以前学建模的时候是这样理解的: 贪心算法是一种思路,而非固定的操作方法;贪心算法叫短视算法更贴切,因为它只考虑当前最佳的解决方法。至于它能解决哪类问题,我认为使用它并不一定能“解 阅读全文
posted @ 2022-12-23 23:37 白露~ 阅读(33) 评论(0) 推荐(0)

摘要:每次做选择的时候都做出当下最好的选择,而不考虑将来的后果。并且期望最终得到的结果是全局最优的。 ——贪心算法 - Greedy Algorithm 什么时候该使用贪心算法 针对一组数据,定义了限制值。现在需要我们从中选出几个数据,在满足限制值的情况下,使期望值最大。 这个不难理解,比如知乎上这个很火 阅读全文
posted @ 2022-12-23 23:22 白露~ 阅读(74) 评论(0) 推荐(0)

上一页 1 ··· 7 8 9 10 11 12 13 下一页