![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法学习
远游必有方
这个作者很懒,什么都没留下…
展开
-
Leetcode 33. 搜索旋转排序数组 -有序查找则可二分
Leetcode 33. 搜索旋转排序数组 -有序查找则可二分题目描述:整数数组 nums 按升序排列,数组中的值互不相同 。数组在某个下标旋转,例如[0,2,4,6,7,8]在下标3处旋转,则有[6,7,8,0,2,4]思路:mid无非两种情况,一是[left,mid-1]有序,要么就是[mid+1,right]有序。target的分布还是很清晰的。二分不用拘泥绝对的排序。只要能判断出target在mid左边还是右边,即可二分。 有一点点点点像动态规划的思想了。二分还有一些进阶用法,可以参考博原创 2021-03-17 17:14:28 · 84 阅读 · 0 评论 -
32.最长有效括号-动态规划-栈-贪心
Leetcode 32.最长有效括号-动态规划-栈-贪心动态规划:栈:栈里不存值,改存下标贪心代码:hello,好久不见。已经工作了大半年。最近又在重新温习一遍基础,顺便刷刷leetcode每日一题,就在这里记录一下吧~给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。动态规划:状态dp[i]表示以s[i]结尾的最大有效子串的长度。转移方程:1.if (s[i] ==’(’ ) dp[i]=0;2.if (s[i] == ‘)’) :2.1原创 2021-03-16 16:10:51 · 160 阅读 · 0 评论 -
二叉树遍历 递归算法与非递归算法
概要:本文整理了先序,中序,后续遍历算法的递归实现与非递归实现,同时会涉及到实现的原理,编程语言使用的是Java。二叉树遍历的递归实现节点结构如下:public static class Node { public int value; public Node left; public Node right; public Node(int data) { this....原创 2020-01-03 18:58:15 · 556 阅读 · 0 评论 -
最全排序算法整合回顾
最全排序算法回顾冒泡排序插入排序选择排序归并排序快速排序堆排序非比较排序额外部分 工程上使用的综合排序最近打算重新过一遍算法,所以在此汇总一下常用的算法。这次会更加注重算法的原理,剔除杂七杂八的东西,用最简单的代码体现算法的原理,希望大家可以和我一样有所收获。冒泡排序冒泡排序是我们接触到的第一个排序算法,原理如下:比较相邻的元素,如果第一个比第二个大,就交换位置。从开始一对到末尾一对...原创 2020-01-01 16:53:27 · 184 阅读 · 0 评论