122. 买卖股票的最佳时机 II 题目描述给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 2020-11-08 LeetCode 动态规划 贪心 每日一题 LeetCode 贪心 DP
1356. 根据数字二进制下 1 的数目排序 题目描述给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序。 如果存在多个数字二进制中 1 的数目相同,则必须将它们按照数值大小升序排列。 请你返回排序后的数组。 2020-11-06 LeetCode 位运算 每日一题 LeetCode 位运算
127. 单词接龙 题目描述难度中等501收藏分享切换为英文接收动态反馈 给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则: 每次转换只能改变一个字母。 转换过程中的中间单词必须是字典中的单词。 2020-11-05 LeetCode 广度优先搜索 每日一题 LeetCode 字符串 BFS
emplace_back、push_back杂谈 emplace_back相当于是直接初始化,根据函数重载找最佳匹配的构造函数。若emplace的是一个完整的对象,则根据函数匹配规则,会自动调用拷贝构造函数。 push_back相当于是拷贝初始化(但是编译器不会进行优化),若push的对象不是完整的对象,则会进行类型转换,转换之后进行添加,添加时会调用拷贝构造函数。 若push_back有右值引用的版本,添加的对象又是一个右值,此时会调用右值版本 2020-11-04 C++ STL C++ 随笔
57. 插入区间 题目描述给出一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 1: 12输入:intervals = [[1,3],[6,9]], newInterval = [2,5]输出:[[1,5],[6,9]] 示例 2: 123输入:intervals = [[1,2],[3,5],[6,7],[8 2020-11-04 LeetCode 模拟 模拟 区间
1124. 表现良好的最长时间段 题目描述给你一份工作时间表 hours,上面记录着某一位员工每天的工作小时数。 我们认为当员工一天中的工作小时数大于 8 小时的时候,那么这一天就是「劳累的一天」。 所谓「表现良好的时间段」,意味在这段时间内,「劳累的天数」是严格 大于「不劳累的天数」。 请你返回「表现良好时间段」的最大长度。 2020-11-03 LeetCode 单调栈 LeetCode 前缀和 单调栈 二分查找
941. 有效的山脉数组 题目描述给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。 让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组: A.length >= 3 在 10 < i < A.length - 1 条件下,存在 1i 使得: A[0] < A[1] < ... A[i-1] < A[i] A[i] > A[ 2020-11-03 LeetCode 模拟 每日一题 LeetCode 双指针 模拟
python之并发编程(概念篇) 转载自python之并发编程(概念篇) 一.进程 1.什么是进程进程是正在进行的一个过程或者一个任务。而负责执行任务的则是cpu。 2020-11-02 python 并发编程 转载 并发编程
349. 两个数组的交集 题目描述给定两个数组,编写一个函数来计算它们的交集。 示例 1: 12输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2] 示例 2: 12输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4] 2020-11-02 LeetCode 哈希 每日一题 哈希 LeetCode 双指针 排序
140. 单词拆分 II 题目描述给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。 说明: 分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 2020-11-01 LeetCode 模拟 动态规划 记忆化搜索 每日一题 LeetCode DP 字符串 回溯 记忆化搜索