![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
记录数据结构学习历程
进击的Paul
初级菜鸟
展开
-
每天一道LeetCode Day9 :买卖股票的最佳时机含手续费
每天一道LeetCode :Day6题目:买卖股票的最佳时机含手续费给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。示例 1:输入: prices = [1, 3, 2, 8, 4, 9], fe原创 2020-12-17 22:31:39 · 89 阅读 · 0 评论 -
每天一道LeetCode Day8:单词规律
每天一道LeetCode:Day5题目给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern = “abba”, str = “dog cat cat dog”输出: true示例 2:输入:pattern = “abba”, str = “dog cat cat fish”输出: false示例 3原创 2020-12-17 21:34:21 · 89 阅读 · 0 评论 -
每天一道LeetCode Day7:单调递增的数字
每天一道LeetCode Day4题目给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。)分析:S1:分离出输入N的各个位数上的数字,存起来num[10]={个,十,百,千,万};S2:判断num[10] 上的数字是否的单调递减的S2.1如果是,那么返回;S2.1 如果不是,则N=N-1;...原创 2020-12-17 20:25:05 · 137 阅读 · 0 评论 -
动态规划
什么是动态规划?动态规划(Dynamic Programming)这里的“programming”并不是指编程,而是表示填充表格定义动态规划=递归+备忘录递归:用于求解子问题。备忘录:将已计算的值存储在表中。实现方法自底向上:从最小的可能输入参数开始对函数进行调用,然后逐步增大参数值来计算其返回值。在计算返回值的时候,把已经计算的值存在备忘中。自顶向下:将问题分解为一系列子问题。对每一个子问题进行求解,并记住结果。举例1斐波那契数列f(n)=1 n原创 2020-12-13 00:15:28 · 71 阅读 · 0 评论 -
递归算法
1.什么是递归?什么是递归?任何调用自身的函数称之为递归。需要注意的几点必须要有终止条件每次递归之后,需要将问题简单化只考虑很少的几步,剩下的都是规模更小的同类问题2. 几个经典问题的实现阶乘斐波那契数列汉诺塔青蛙跳台阶package com.company;public class Main { /** * 计算阶乘 * n!= 1 (n=0) * n!=n*(n-1)! (n>0) *原创 2020-12-10 23:41:17 · 72 阅读 · 1 评论