LeetCode 剑指Offer 20. 表示数值的字符串

这是 2020 年 9 月 2 日的每日一题。这道题本身并不难,但是让我明白了一个自动机的概念。直接来看题吧。题目请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、"5e2"、"-123"、"3.1416"、"-1E-16"、"0123"都表示数值,但"12e"、"1a3.14"、"1.2.3"、"+-5"及"12e+5.4"都不是。我的思路首先我们可以写出一个

- 阅读全文 -

LeetCode 647. 回文子串

这是 2020 年 8 月 19 日的每日一题。这道题我是用 动态规划 解出来的。但是这题的 动态规划 效果反而不如暴力优化。可以说这道题让我明白了 动态规划 不能滥用。特此记录一下。647. 回文子串难度:中等题目给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例 1输入:"abc"

- 阅读全文 -

LeetCode 546. 移除盒子

这是 2020 年 8 月 15 日的每日一题。这道题我没写出来,是看题解的,这道题如果用常规的动态规划思路,很容易进入误区。特此记录一下。主要学到了以下两点:动态规划的 dp 函数可以是多元的,当二元无法表达状态转移的时候,尝试加多一维,具体第三维可以表示什么,这道题给出了一种思路。当动态规划的状态转移方向难以确定的时候,可以使用 递归 + 记忆化 的形式。虽然比迭代要占用更多的空间复杂度,但是

- 阅读全文 -

Android MVP 架构的一种实现模型 - 带 Demo

最近项目有 MVP 架构的需求。于是简单写了 MVP 的一种实现模板。开始吧。MVPmvp 架构是一种设计模式,他没有所谓的标准。只是一种思维上的架构。所以本文介绍的只是其中一种实现模板。MVP 全称 Model - View - Presenter,就是把代码分成了三层。具体可以参考下图:然后来分别讲一下吧我对这三个逻辑层的理解吧。ModelModel 层一般都是全局单例的。用于数据的获取。主要

- 阅读全文 -

LeeCode 227. 回文串

这是 2020 年 8 月 6 日 的每日一题。因为昨天断网了,今天补更新。这道题主要是涉及到一种新的数据结构 - 字典树。之后可能会写博客记录一下。现在先看题吧。336. 回文对难度:困难题目给定一组 互不相同 的单词, 找出所有不同 的索引对(i, j),使得列表中的两个单词, words[i] + words[j] ,可拼接成回文串。示例 1输入:["abcd",&quo

- 阅读全文 -