![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 50
宽宽的乌托邦
这个作者很懒,什么都没留下…
展开
-
给定数字生成括号组合
n=3 3个左括号+3个右括号合法:((())) (())() (()())非法:)()()(要求: 找出所有合法的括号情况。原创 2023-06-20 23:31:07 · 132 阅读 · 0 评论 -
浅谈对缓存的理解
缓存从微观角度:寄存器、内存层面来看关键词: 分级策略、指令预读、指令区、数据区、时钟周期、LRU、LFU存储结构的分级策略,从快到慢的排序为: 寄存器, L1-cache, L2-cache, L3-cache, 内存。制造出存储的物件,要考虑成本、散热、性能等等情况。CPU内的速度非常快,但是内存在离CPU在物理上看还是有一定的距离的,速度很明显得受到影响。时钟周期的概念:CPU 是用 石英晶体产生的脉冲 转化为 时钟信号 来驱动的,每次 高低电平 的转换的就是一个 时钟周期。CPU原创 2021-02-28 23:21:34 · 271 阅读 · 0 评论 -
递归改动态规划:正则匹配
题目描述请实现一个函数用来匹配包括’.‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配递归解法,原因都在注释里: public class Solution { public boolean match(char[] str, char[] pattern) { ret原创 2021-02-27 23:56:55 · 77 阅读 · 0 评论 -
二叉树的递归、非递归遍历
介绍:本文简单的介绍一下二叉树的前、中、后序遍历的递归和非递归的实现方法。最后再来看看一道折纸问题来加深对遍历的理解。先简单说说概念:顾名思义:前序遍历:二叉树结点的访问顺序为 : 根节点、左节点、右节点。中序遍历:二叉树结点的访问顺序为 : 左节点、根节点、右节点。后序遍历:二叉树结点的访问顺序为 : 左节点、右节点、根节点。递归和非递归的关系。理论上来说可以用递归方法实现的,也可...原创 2019-12-26 19:37:16 · 612 阅读 · 0 评论 -
求最大公约数
导读求最大公约数,最简单粗暴方法是列出他们的约数,去找共同的那些,选最大的就行了。。。当然,还有其他的,就是欧几里得算法,或者叫做辗转相除法,也可以来求最大公约数,但是这个的前提条件是2个正整数。所以这篇这是些辗转相除法的代码实现及非常简单的一些证明了。题目思路:就是证明辗转相除法为什么是对的。。。首先用文字描述一下辗转相除法的内容:有2个正整数a,b。 他们的最大公约数,也...原创 2019-11-09 11:36:54 · 234 阅读 · 0 评论 -
有关随机数的一些问题
导读这里随机数问题介绍3个题目,可以算是一大类的吧。话不多说,直接看题:第一题:基础题目思路:用随机数1——5, 来产生随机数1——7。就要想办法通过已有的条件1——5,来凑!首先要有个0出来,方便后面计算。rand1To5() - 1 : 可产生:0,1,2,3,4这些范围比7小,还要连续的数字都要有,(4后面是5,所以乘以5)那么rand1To5() * 5 可产生...原创 2019-11-08 13:56:12 · 283 阅读 · 0 评论 -
KMP算法
前言之前也看过KMP算法,但是看不懂呀。现在,终于搞懂啦!导读 :前言概述必备知识KMP讲解题目举例概述首先我们来看一下KMP要解决的问题:有2个字符串str和match。 让你判断在str里是否有子串match,如果有放回这个子串在str里的开始位置,,如果没有,则返回-1。(str长度为N,match长度为M; N >= M, 否则没有子串这个概念)比如...原创 2019-02-10 18:15:37 · 115 阅读 · 0 评论 -
部分排序算法的总结
导读:最近看了一些有关排序算法的东西,这里就是简单的记录一下。主要是 :(默认实现的 升序)选择排序、插入排序、冒泡排序、快速排序、归并排序、堆排序。选择排序时间复杂度:O(n²)。空间复杂度:O(1)。主要思想: 就是2遍循环遍历数组,外层循环控制每个数字应该放的数字,内层循环找到这个数组的最小值,把它放到应该放到的位置(即外层循环控制的位置)上去。代码: 注意在写代码时用...原创 2019-03-17 12:54:11 · 291 阅读 · 0 评论 -
Manacher算法
导读Manacher算法是解决有关回文字符一类的问题。之前寒假看过,琢磨了好久,现在来看,没有那么陌生了,重新理了一遍后,虽然也写了好几遍代码,但感觉已经有是在背代码的感觉了!还是理解万岁。问题描述给你一串字符串,返回这个字符串里最长的回文子字符串,或者返回这个最长的回文子字符串的长度。比如: abccbaaa : 最长回文子字符串为abccba,长度为6a d s b f p r r ...原创 2019-03-18 22:05:06 · 104 阅读 · 0 评论