![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法入门
一些基础算法题目,加上自己的题解和理解,边记录边学习!
依然范特茜
舞台再大,你不上台,永远是个观众。平台再好,你不参与,永远是局外人。能力再大,你不行动,只能看别人成功!没有人会关心你付出过多少努力,撑得累不累,摔得痛不痛,他们只会看你最后站在什么位置,羡慕或者鄙夷。
展开
-
算法——LRU缓存算法设计
要求:请你设计并实现一个满足 LRU (Least Recently Used 最近最少使用) 缓存 约束的数据结构。 函数 get 和put 必须以 O(1) 的平均时间复杂度运行。思路:采用 字典 + 双向链表原创 2022-11-16 11:52:24 · 360 阅读 · 0 评论 -
算法——正则表达式匹配(动态规划)
正则表达式匹配> 例如:字符串abaaaa能被表达式 a.a* 匹配 > 解释:.字符是能充当任意字符的,这里充当字符 b,而*字符可以使前面一个字符重复0-n次 > 这里算法采用动态规划思想原创 2022-11-11 14:07:43 · 240 阅读 · 0 评论 -
算法——验证IP地址合法性
描述 编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址 IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围为 0 - 255, 用(".")分割。比如,172.16.254.1;同时,IPv4 地址内的数不会以 0 开头。比如,地址 172.16.254.01 是不合法的。IPv6 地址由8组16进制的数字来表示,每组表示 16 比特。这些组数字通过 (":")分割。比如, 2001:0db8:85a3:0000:0000:8a2e原创 2022-11-08 16:56:09 · 625 阅读 · 0 评论 -
算法——归并排序算法
归并排序大概思路是分治思想,将数组按照折半来逐级划分,直到只剩下一个元素(此时肯定是有序的),然后再将有序数组进行逐个合并,就得到了排好序的数组了,因此叫做归并排序。原创 2022-11-04 14:49:53 · 356 阅读 · 0 评论 -
算法——快速排序算法
快速排序算法以“快”著称,以其出色的时间复杂度奉为业界经典排序算法,面试也是经常出现的,如果你可以在面试中手写快速排序算法,那将是一个耀眼的加分项快速排序算法并不难,它是利用了**二分查找**与**分治**的思想,通过分治划分问题的界限,从而转化为更小的问题来解决。原创 2022-11-04 11:50:06 · 386 阅读 · 0 评论 -
算法——(树)BM41:输出二叉树的右视图
题目描述:根据二叉树的前序、中序遍历,输出二叉树的右视图例如:前序:[1,2,4,5,3]中序:[4,2,5,1,3]原创 2022-11-03 11:45:16 · 330 阅读 · 0 评论 -
华为机试——找出数组中不同的两个数字
(进阶)已知数组中数字都两两相同,只有两个不同,找出这两个数字这里也提供三种方法,前两种和之前相似,第三种需要熟练异或运算。原创 2022-11-01 16:28:44 · 222 阅读 · 0 评论 -
华为机试——找出数组中不同的数字
已知数组中数字都两两相同,只有一个不同,找出该数字这里提供三种方法,前两种比较容易想到,第三种需要了解异或运算。原创 2022-11-01 15:20:17 · 373 阅读 · 0 评论