自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Michael是个半路程序员

微信公众号:Michael阿明

  • 博客(1787)
  • 资源 (5)
  • 论坛 (2)
  • 收藏
  • 关注

原创 《统计学习方法》学习笔记目录

此篇为 李航老师著的《统计学习方法》的学习笔记汇总,准备学习并敲一敲代码,还请大家不吝赐教!

2019-12-10 21:54:27 5048 102

原创 LeetCode解题汇总目录

此篇为学习完《数据结构与算法之美》后,在LeetCode刷题的汇总目录,方便大家查找(Ctrl+Find),一起刷题,一起PK交流!另有解题:《剑指Offer》、《程序员面试金典》、LintCode代码能力测试CAT。如果本文对你有帮助,可以给我点赞加油!已解决 1664/1887 - 简单 517 中等 921 困难 226

2019-09-06 13:43:51 56991 351

原创 吴恩达-《深度学习DeepLearning》汇总目录

从2019年2月底开始学习《数据结构与算法之美》,王争老师的课程非常好,到2019年8月底已经学完一遍,后面还要多次复习巩固以及OJ刷题。生命不息,学习不止,又要开始新的篇章了–《机器学习》,有点小兴奋,哈哈,之前Python已经大致过了2遍(小甲鱼的视频&从入门到实践),现在要补NumPy、复习高等数学、然后开始吴恩达老师的课程。此篇文章作为学习的汇总目录,供大家参考,一起学习,共同进步...

2019-08-28 00:43:33 5285 66

原创 《数据结构与算法之美》学习汇总

此篇文章是对自己学习这门课程的一个总结和课后的一些练习,做一个汇总,希望对大家有帮助。本人是半路程序员,2018年2月开始学习C++的,下面的代码基本都是C++11版本的,代码有错误的地方请不吝留言赐教。附有部分练习LeetCode、POJ的题目。

2019-04-22 21:13:00 16339 211

原创 天池 在线编程 捡胡萝卜(模拟)

文章目录1. 题目2. 解题1. 题目来源:https://tianchi.aliyun.com/oj/210874425247820050/215397455965131519给定一个n * m 的矩阵 carrot, carrot[i][j] 表示(i, j) 坐标上的胡萝卜数量。从矩阵的中心点出发,每一次移动都朝着四个方向中胡萝卜数量最多的方向移动,保证移动方向唯一。 返回你可以得到的胡萝卜数量。示例 1:输入:carrot = [[5, 7, 6, 3],[2, 4, 8, 12

2020-12-05 11:17:25 32

原创 天池 在线编程 安排面试城市(贪心)

文章目录1. 题目2. 解题1. 题目来源:https://tianchi.aliyun.com/oj/210874425247820050/215397455965131520今天有N个面试者需要面试,公司安排了两个面试的城市A和B,每一个面试者都有到A城市的开销costA和到B城市的开销costB。公司需要将面试者均分成两拨,使得 total cost最小。N是偶数2<=N<=1e5答案确保在int范围内1<=costA,costB <=1e6说明It is

2020-12-05 11:12:47 53

原创 Bang! Bang!(动态规划)

文章目录1. 题目2. 解题1. 题目链接:https://ac.nowcoder.com/acm/contest/9715/C来源:牛客网音游狂热爱好者牛牛接到了一个新的任务,那就是给一张乐谱设计重音符。每当玩家敲击重音符的时候就会发出"bang"的美妙声音!!每一张乐谱都有n个音符从左到右一字排开,现在牛牛的任务就是选出其中m个音符将其标记为重音符,同时任意两个重音符之间都必须隔着至少k个音符。一个有意思的问题诞生了,请求出这样合法的设计方案种数,并输出答案对1000000007取模的结果。

2020-12-04 21:04:50 90

原创 牛牛做除法II

文章目录1. 题目2. 解题1. 题目链接:https://ac.nowcoder.com/acm/contest/9715/A来源:牛客网牛牛想知道在[0,n]范围中,选取一个最大的数x,满足x % a = b,不过这个范围可能会很大,牛牛不知道该如何解决,所以他想请你帮忙。给定如上所述的 a,b,n,返回满足条件的最大的 x。示例1输入2,0,2返回值2示例2输入2,1,1000000000返回值999999999备注:2. 解题class Solution {

2020-12-04 21:01:04 88 3

原创 String II

文章目录1. 题目2. 解题1. 题目链接:https://ac.nowcoder.com/acm/contest/9715/B来源:牛客网给出一个仅包含小写字母的字符串s,你最多可以操作k次,使得任意一个小写字母变为与其相邻的小写字母(ASCII码差值的绝对值为1),请你求出可能的最长相等子序列(即求这个字符串修改至多k次后的的一个最长子序列,且需要保证这个子序列中每个字母相等)。子序列:从原字符串中取任意多个字母按照先后顺序构成的新的字符串。示例1输入2,“abcde”返回值3示例

2020-12-04 21:00:30 66

原创 LeetCode 321. 拼接最大数(单调栈)*

文章目录1. 题目2. 解题1. 题目给定长度分别为 m 和 n 的两个数组,其元素由 0-9 构成,表示两个自然数各位上的数字。现在从这两个数组中选出 k (k <= m + n) 个数字拼接成一个新的数,要求从同一个数组中取出的数字保持其在原数组中的相对顺序。求满足该条件的最大数。结果返回一个表示该最大数的长度为 k 的数组。说明: 请尽可能地优化你算法的时间和空间复杂度。示例 1:输入:nums1 = [3, 4, 6, 5]nums2 = [9, 1, 2, 5, 8, 3]

2020-12-03 10:08:20 35

原创 正则表达式

文章目录1. ? 表示0个或者1个2. * 表示0个或者多个3. + 表示1个或者多个4. {} 设置匹配次数5. ^开头,$结尾,. 表示除\n外任意字符6. \w 表示字母,数字,下划线7. \s表示空格8. re.finditer1. ? 表示0个或者1个import redef text_match(text, pattern): if re.search(pattern, text): return "找到一个匹配!" else: return

2020-12-02 21:04:42 41

原创 怕npy的牛牛(双指针)

class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 返回符合题意的最长的子串长度 * @param x string字符串 * @return int整型 */ int Maximumlength(string x) { // write code here int n = 0, p = 0, y = 0;

2020-12-01 20:59:34 84 2

原创 LeetCode 1673. 找出最具竞争力的子序列(单调栈)

文章目录1. 题目2. 解题1. 题目给你一个整数数组 nums 和一个正整数 k ,返回长度为 k 且最具 竞争力 的 nums 子序列。数组的子序列是从数组中删除一些元素(可能不删除元素)得到的序列。在子序列 a 和子序列 b 第一个不相同的位置上,如果 a 中的数字小于 b 中对应的数字,那么我们称子序列 a 比子序列 b(相同长度下)更具 竞争力 。例如,[1,3,4] 比 [1,3,5] 更具竞争力,在第一个不相同的位置,也就是最后一个位置上, 4 小于 5 。示例 1:输入:num

2020-11-29 18:32:25 110 1

原创 LeetCode 1672. 最富有客户的资产总量

文章目录1. 题目2. 解题1. 题目给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​​​​​​​​ 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。示例 1:输入:accounts = [[1,2,3],[3,2,1]]输出:6解释:第 1 位客户的资产总量 = 1 + 2 + 3 = 6第 2 位客户的资产

2020-11-29 17:53:39 45

原创 LeetCode 1671. 得到山形数组的最少删除次数(最长上升子序DP nlogn)

文章目录1. 题目2. 解题2.1 n^2 解法2.2 nlogn 解法197 / 1891,前10.4%435 / 6154,前7.07%前三题如下:LeetCode 5557. 最大重复子字符串LeetCode 5558. 合并两个链表LeetCode 5560. 设计前中后队列(deque)1. 题目我们定义 arr 是 山形数组 当且仅当它满足:arr.length >= 3存在某个下标 i (从 0 开始) 满足 0 < i < arr.length -

2020-11-29 17:13:33 804 2

原创 LeetCode 1670. 设计前中后队列(deque)

文章目录1. 题目2. 解题1. 题目请你设计一个队列,支持在前,中,后三个位置的 push 和 pop 操作。请你完成 FrontMiddleBack 类:FrontMiddleBack() 初始化队列。void pushFront(int val) 将 val 添加到队列的 最前面 。void pushMiddle(int val) 将 val 添加到队列的 正中间 。void pushBack(int val) 将 val 添加到队里的 最后面 。int popFront() 将 最前

2020-11-29 16:03:07 798

原创 LeetCode 1669. 合并两个链表

文章目录1. 题目2. 解题1. 题目给你两个链表 list1 和 list2 ,它们包含的元素分别为 n 个和 m 个。请你将 list1 中第 a 个节点到第 b 个节点删除,并将list2 接在被删除节点的位置。下图中蓝色边和节点展示了操作后的结果:请你返回结果链表的头指针。示例 1:输入:list1 = [0,1,2,3,4,5], a = 3, b = 4, list2 = [1000000,1000001,1000002]输出:[0,1,2,1000000,1000001

2020-11-29 15:09:51 42

原创 LeetCode 1668. 最大重复子字符串

文章目录1. 题目2. 解题1. 题目给你一个字符串 sequence ,如果字符串 word 连续重复 k 次形成的字符串是 sequence 的一个子字符串,那么单词 word 的 重复值为 k 。单词 word 的 最大重复值 是单词 word 在 sequence 中最大的重复值。如果 word 不是 sequence 的子串,那么重复值 k 为 0 。给你一个字符串 sequence 和 word ,请你返回 最大重复值 k 。示例 1:输入:sequence = "ababc",

2020-11-29 15:03:38 140 4

原创 天池 在线编程 条件串(DP)

class Solution {public: /** * @param s: write your code here * @return: The longest length that satisfies the condition */ int conditionString(string &s) { // write your code here string s1, s2; for(char

2020-11-28 22:24:11 63

原创 天池 在线编程 求和查找

class Solution {public: /** * @param inputs: an integer array * @param tests: an integer array * @return: return true if sum of two values in inputs are in tests. */ bool addAndSearch(vector<int> &inputs, vector<in

2020-11-28 22:19:26 52

原创 词云(WordCloud)制作

以《神雕侠侣》为例,我们制作词云,看看有哪些高频词汇。1. 导入一些包# -*- coding:utf-8 -*-# @Python Version: 3.7# @Time: 2020/11/27 19:32# @Author: Michael Ming# @Website: https://michael.blog.csdn.net/# @File: word_cloud.py# @Reference: import jiebaimport numpy as npfrom PIL

2020-11-27 20:54:00 1059 7

原创 LeetCode 1665. 完成所有任务的最少初始能量(贪心)

文章目录1. 题目2. 解题1. 题目给你一个任务数组 tasks ,其中 tasks[i] = [actuali, minimumi] :actuali 是完成第 i 个任务 需要耗费 的实际能量。minimumi 是开始第 i 个任务前需要达到的最低能量。比方说,如果任务为 [10, 12] 且你当前的能量为 11 ,那么你不能开始这个任务。如果你当前的能量为 13 ,你可以完成这个任务,且完成它后剩余能量为 3 。你可以按照 任意顺序 完成任务。请你返回完成所有任务的 最少 初始能

2020-11-22 13:54:43 98

原创 LeetCode 1664. 生成平衡数组的方案数(前缀和+后缀和)

文章目录1. 题目2. 解题1. 题目给你一个整数数组 nums 。你需要选择 恰好 一个下标(下标从 0 开始)并删除对应的元素。请注意剩下元素的下标可能会因为删除操作而发生改变。比方说,如果 nums = [6,1,7,4,1] ,那么:选择删除下标 1 ,剩下的数组为 nums = [6,7,4,1] 。选择删除下标 2 ,剩下的数组为 nums = [6,1,4,1] 。选择删除下标 4 ,剩下的数组为 nums = [6,1,7,4]。如果一个数组满足奇数下标元素的和与偶数下标

2020-11-22 13:42:16 54

原创 LeetCode 1663. 具有给定数值的最小字符串(贪心)

文章目录1. 题目2. 解题1. 题目小写字符 的 数值 是它在字母表中的位置(从 1 开始),因此 a 的数值为 1 ,b 的数值为 2 ,c 的数值为 3 ,以此类推。字符串由若干小写字符组成,字符串的数值 为各字符的数值之和。例如,字符串 “abe” 的数值等于 1 + 2 + 5 = 8 。给你两个整数 n 和 k 。返回 长度 等于 n 且 数值 等于 k 的 字典序最小 的字符串。注意,如果字符串 x 在字典排序中位于 y 之前,就认为 x 字典序比 y 小,有以下两种情况:x 是

2020-11-22 13:24:58 53

原创 LeetCode 1662. 检查两个字符串数组是否相等

文章目录1. 题目2. 解题1. 题目给你两个字符串数组 word1 和 word2 。如果两个数组表示的字符串相同,返回 true ;否则,返回 false 。数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串。示例 1:输入:word1 = ["ab", "c"], word2 = ["a", "bc"]输出:true解释:word1 表示的字符串为 "ab" + "c" -> "abc"word2 表示的字符串为 "a" + "bc" -> "abc"两个

2020-11-22 13:10:30 54

原创 天池 在线编程 分割数组

文章目录1. 题目2. 解题1. 题目来源:https://tianchi.aliyun.com/oj/164426199705086870/1939369509521374072. 解题class Solution {public: /** * @param arr: an inter array * @return: return the min sum */ int splitArray(vector<int> &arr)

2020-11-21 12:54:40 671 1

原创 天池 在线编程 数组游戏

文章目录1. 题目2. 解题1. 题目样例 1输入: [3, 4, 6, 6, 3]输出: 7说明: [3, 4, 6, 6, 3] -> [4, 5, 7, 6, 4] -> [5, 6, 7, 7, 5] -> [6, 7, 8, 7, 6] -> [7, 8, 8, 8, 7] -> [8, 9, 9, 8, 8] -> [9, 9, 10, 9, 9] -> [10, 10, 10, 10, 10]来源:https://tianchi.aliy

2020-11-21 12:47:02 50

原创 LeetCode 1658. 将 x 减到 0 的最小操作数(哈希)

文章目录1. 题目2. 解题1. 题目给你一个整数数组 nums 和一个整数 x 。每一次操作时,你应当移除数组 nums 最左边或最右边的元素,然后从 x 中减去该元素的值。请注意,需要 修改 数组以供接下来的操作使用。如果可以将 x 恰好 减到 0 ,返回 最小操作数 ;否则,返回 -1 。示例 1:输入:nums = [1,1,4,2,3], x = 5输出:2解释:最佳解决方案是移除后两个元素,将 x 减到 0 。示例 2:输入:nums = [5,6,7,8,9], x = 4

2020-11-16 08:25:16 58

原创 LeetCode 1657. 确定两个字符串是否接近

文章目录1. 题目2. 解题1. 题目如果可以使用以下操作从一个字符串得到另一个字符串,则认为两个字符串 接近 :操作 1:交换任意两个 现有 字符。例如,abcde -> aecdb操作 2:将一个 现有 字符的每次出现转换为另一个 现有 字符,并对另一个字符执行相同的操作。例如,aacabb -> bbcbaa(所有 a 转化为 b ,而所有的 b 转换为 a )你可以根据需要对任意一个字符串多次使用这两种操作。给你两个字符串,word1 和 word2 。如果 wor

2020-11-15 14:53:43 60 1

原创 LeetCode 1656. 设计有序流(数组)

文章目录1. 题目2. 解题1. 题目有 n 个 (id, value) 对,其中 id 是 1 到 n 之间的一个整数,value 是一个字符串。不存在 id 相同的两个 (id, value) 对。设计一个流,以 任意 顺序获取 n 个 (id, value) 对,并在多次调用时 按 id 递增的顺序 返回一些值。实现 OrderedStream 类:OrderedStream(int n) 构造一个能接收 n 个值的流,并将当前指针 ptr 设为 1 。String[] insert(i

2020-11-15 14:38:08 69

原创 LeetCode 1655. 分配重复整数(回溯)

文章目录1. 题目2. 解题2.1 回溯1. 题目给你一个长度为 n 的整数数组 nums ,这个数组中至多有 50 个不同的值。同时你有 m 个顾客的订单 quantity ,其中,整数 quantity[i] 是第 i 位顾客订单的数目。请你判断是否能将 nums 中的整数分配给这些顾客,且满足:第 i 位顾客 恰好 有 quantity[i] 个整数。第 i 位顾客拿到的整数都是 相同的 。每位顾客都满足上述两个要求。如果你可以分配 nums 中的整数满足上面的要求,那么请返回 tr

2020-11-15 14:08:48 48

原创 LeetCode 1654. 到家的最少跳跃次数(BFS)

文章目录1. 题目2. 解题1. 题目有一只跳蚤的家在数轴上的位置 x 处。请你帮助它从位置 0 出发,到达它的家。跳蚤跳跃的规则如下:它可以 往前 跳恰好 a 个位置(即往右跳)。它可以 往后 跳恰好 b 个位置(即往左跳)。它不能 连续 往后跳 2 次。它不能跳到任何 forbidden 数组中的位置。跳蚤可以往前跳 超过 它的家的位置,但是它 不能跳到负整数 的位置。给你一个整数数组 forbidden ,其中 forbidden[i] 是跳蚤不能跳到的位置,同时给你整数 a,

2020-11-15 12:03:16 73

原创 LeetCode 1653. 使字符串平衡的最少删除次数(DP)

文章目录1. 题目2. 解题1. 题目2. 解题class Solution {public: int minimumDeletions(string s) { int n = s.size(); vector<int> dpa(n, 0), dpb(n, 0); if(s[0] == 'a') dpb[0] = 1;//以 b 结尾需要删除1次 else dpa[0]

2020-11-15 09:36:55 73

原创 LeetCode 1652. 拆炸弹(前缀和)

文章目录1. 题目2. 解题1. 题目你有一个炸弹需要拆除,时间紧迫!你的情报员会给你一个长度为 n 的 循环 数组 code 以及一个密钥 k 。为了获得正确的密码,你需要替换掉每一个数字。所有数字会 同时 被替换。如果 k > 0 ,将第 i 个数字用 接下来 k 个数字之和替换。如果 k < 0 ,将第 i 个数字用 之前 k 个数字之和替换。如果 k == 0 ,将第 i 个数字用 0 替换。由于 code 是循环的, code[n-1] 下一个元素是 code[0]

2020-11-15 09:06:25 55

原创 天池 在线编程 音乐组合

文章目录1. 题目2. 解题1. 题目来源:https://tianchi.aliyun.com/oj/164423301311799378/1848083487257442742. 解题对60求余后,0, 30的为 Cn2C_n^2Cn2​,其余的相加等于60的,种类相乘class Solution {public: /** * @param musics: the musics * @return: calc the number of pair of mu

2020-11-14 12:15:57 83 2

原创 天池 在线编程 LR String

文章目录1. 题目2. 解题1. 题目来源:https://tianchi.aliyun.com/oj/164423301311799378/1848083487257442762. 解题class Solution {public: /** * @param s: a string * @param t: a string * @param n: max times to swap a 'l' and a 'r'. * @return: retu

2020-11-14 12:10:51 62

原创 天池 在线编程 最大得分(DP)

文章目录1. 题目2. 解题1. 题目来源:https://tianchi.aliyun.com/oj/164423301311799378/1848083487257442752. 解题class Solution {public: /** * @param matrix: the matrix * @return: the maximum score you can get */ int maximumScore(vector<vector

2020-11-14 12:07:02 62

原创 LeetCode 833. 字符串中的查找与替换(排序,replace)

文章目录1. 题目2. 解题1. 题目某个字符串 S 需要执行一些替换操作,用新的字母组替换原有的字母组(不一定大小相同)。每个替换操作具有 3 个参数:起始索引 i,源字 x 和目标字 y。规则是:如果 x 从原始字符串 S 中的位置 i 开始,那么就用 y 替换出现的 x。如果没有,则什么都不做。举个例子,如果 S = “abcd” 并且替换操作 i = 2,x = “cd”,y = “ffff”,那么因为 “cd” 从原始字符串 S 中的位置 2 开始,所以用 “ffff” 替换它。再来看

2020-11-14 09:57:30 67 3

原创 LeetCode 915. 分割数组

文章目录1. 题目2. 解题1. 题目给定一个数组 A,将其划分为两个不相交(没有公共元素)的连续子数组 left 和 right, 使得:left 中的每个元素都小于或等于 right 中的每个元素。left 和 right 都是非空的。left 要尽可能小。在完成这样的分组后返回 left 的长度。可以保证存在这样的划分方法。示例 1:输入:[5,0,3,8,6]输出:3解释:left = [5,0,3],right = [8,6]示例 2:输入:[1,1,1,0,6,12

2020-11-13 08:35:27 92

原创 LeetCode 795. 区间子数组个数

文章目录1. 题目2. 解题1. 题目给定一个元素都是正整数的数组A ,正整数 L 以及 R (L <= R)。求连续、非空且其中最大元素满足大于等于L 小于等于R的子数组个数。例如 :输入: A = [2, 1, 4, 3]L = 2R = 3输出: 3解释: 满足条件的子数组: [2], [2, 1], [3].注意:L, R 和 A[i] 都是整数,范围在 [0, 10^9]。数组 A 的长度范围在[1, 50000]。来源:力扣(LeetCode)链接:h

2020-11-12 21:15:05 56

python383.chm

python3.8.3参考文档

2020-06-05

WinRAR5.60.zip

解压缩软件,无广告。

2020-06-05

Everything-1.4.1.969.x64.zip

非常快速的查找工具,比windows的自带搜索快速很多倍,提高工作效率的小工具,非常好用!非常快速的查找工具,比windows的自带搜索快速很多倍,提高工作效率的小工具,非常好用!

2020-03-27

ScreenToGif.2.22.1.Portable.zip

桌面录屏成动图的小软件。生成的图片尺寸小,质量高,非常好用!桌面录屏成动图的小软件。生成的图片尺寸小,质量高,非常好用!

2020-03-27

【Excel示例文件】深度学习的数学.rar

深度学习的数学,随书示例文件,辅助更好的理解深度学习的原理!

2020-03-27

C++递归,把int& 改成 int 才不爆栈,求大佬解答

发表于 2020-03-24 最后回复 2020-07-14

Michael阿明的留言板

发表于 2020-01-02 最后回复 2020-02-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除