
算法之法
为算法而算法
Rico-Coding
资本要靠自己积累 技术需要自己磨炼
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Stack
Stack 特性:LIFO( Last In First out) 适用于需要记录之前的状态,必要的时候可以回到之前的状态,或者利用之前的值 不像array,不能用 index访问,只能每次拿栈顶元素 题外话:动态规划 Dynamic Programming DP:记录之前所有状态,随时可能访问任何一个子问题,所以通常用Array或者 Hash Table,而且不会回到之前的状态,只会利用之前的值 Stack:每次只需要栈顶元素,并且每个状态只会被用O(1)次 Stack,类似递归调用,保存历史状态,但原创 2020-12-26 09:42:49 · 287 阅读 · 0 评论 -
链表的问题
链表 数组:内存里连续的数组 -链表: 内存里面不一定连续的数组 对于链表的问题,60%主要是使用双指针: tips:双指针在array主要是用index 在单链表中是pointer 1.比如查找链表的中点 定义一个快指针和一个慢指针 快指针每次走两步 慢指针每次走一步 2.找倒数第k个节点 快指针先走k个位置 然后慢指针和快指针和慢指针一起每次向前走一步 递归: 解决需要从后往前的链表问题 1.链表的反向: ...原创 2020-12-25 11:10:39 · 139 阅读 · 0 评论 -
二分搜索法
二分搜索法 一种针对有序区间内的O(logn) 二分搜索的两大基本原则 每次都要缩减区域 每次都不能排除潜在答案 三大模板原创 2020-12-24 14:26:12 · 88 阅读 · 0 评论 -
双指针
双指针(Array) 同向指针 通用步骤: 反向指针 实战 Reverse String:反转字符串 334(反向指针) public char[] reverstring(char[] str){ //初始化 int i=0,j=str.lerngth-1; while(i<j){ char tmp=str[j]; str[i]=str[j]; str[j]=tmp; i++; j--; } } -26.去除带重复的元素(同向指针) public int d原创 2020-12-23 16:53:55 · 82 阅读 · 0 评论