1 class Solution 2 { 3 public: 4 int maxProfit(vector<int>& prices) 5 { 6 if(prices.size() < 2) return 0; 7 int n = prices.size(); 8 vector<vector<int ...
分类:
其他好文 时间:
2020-05-05 19:46:36
阅读次数:
45
1 // 一次交易由买入和卖出构成,至少需要两天。所以说有效的限制 k 应该不超过 n/2,如果超过,就没有约束作用了,相当于 k = +infinity。 2 class Solution 3 { 4 public: 5 int maxProfit(int K, vector<int>& pric ...
分类:
其他好文 时间:
2020-05-05 19:43:25
阅读次数:
60
前言 Vue.$nextTick这个API相信很多人都用过,按照文档的解释,“在下次DOM更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的DOM”。我们通常会在使用第三方库或者处理复杂条件下的渲染时机的时候用到它,它是如此的好用以至于碰到棘手的问题的时候,我们都会想到是不是 ...
分类:
其他好文 时间:
2020-05-05 18:07:19
阅读次数:
73
季春初始,天气返暖,新冠渐去,正值学习好时机。在Android系统中,AIDL一直在Framework和应用层上扮演着很重要的角色,今日且将其原理简单分析。(文2020.03.30) 一、开篇介绍 1.简单介绍 Android系统中对原理的分析基本离不开对源码的阅读,我理解的原理分析: 原理分析 = ...
分类:
其他好文 时间:
2020-05-05 17:34:54
阅读次数:
91
题目: 解答: 1 class Solution { 2 public: 3 int maxProfit(vector<int>& prices) 4 { 5 int profit = 0; 6 for (int i = 1; i < prices.size(); i++) 7 { 8 int tm ...
分类:
编程语言 时间:
2020-05-04 17:32:01
阅读次数:
63
题目: 解答: 我们需要找出给定数组中两个数字之间的最大差值(即,最大利润)。此外,第二个数字(卖出价格)必须大于第一个数字(买入价格)。 形式上,对于每组 i和 j(其中 j >i),我们需要找出 max(prices[j] - prices[i])。 方法一:暴力法 1 class Soluti ...
分类:
编程语言 时间:
2020-05-04 17:18:39
阅读次数:
56
数据迁移的类型 随着业务的发展,存储也会经常性的需要迁移。以下场景是我们开发过程中经常遇到的 1. 业务、团队在快速扩张,需要适当时机进行微服务的拆分,需要独立的数据库,将数据从源数据库迁移到新的数据库 2. 单表的记录数比较大,需要进行分库分表。需要将老表的数据迁移到新的分表中。 3. 存储选型不 ...
分类:
其他好文 时间:
2020-05-04 13:13:58
阅读次数:
129
装饰者模式是一种用于替代继承的技术,它通过一种无须定义子类的方式给对象动态增加职责,使对象之间的关联关系取代类之间的继承关系。 模式动机 装饰者可以在不改变一个对象本身的基础上给对象增加额外的新行为,如一张照片,可以不改变照片本身,给她增加一个相框,使得它具有防潮功能,而且用户可以根据需要增加不同类 ...
分类:
其他好文 时间:
2020-05-01 15:09:04
阅读次数:
62
一、摘要 传统的相对强弱指数(Relative Strength Index)是以双线来反映价格走势的强弱,这种图形可以为投资者提供操作依据,非常适合做短线差价操作。RSI 根据市场上供求关系平衡的原理,通过比较过去一段时期内价格上涨和下跌的幅度来判断市场上多空双方买卖力量的强弱程度,从而判断未来市 ...
分类:
其他好文 时间:
2020-04-29 18:04:06
阅读次数:
64
应用场景:库存修改 一:使用 synchronized ,lock 等同步方法: (1)特点:synchronized的flag只有jvm进程内可见,不能跨jvm (2)缺点:1.作用范围是单个jvm实例, 如果做了集群,分布式等,就没用了; 2.数据库的事务隔离级别,加锁时机。主要矛盾是事务开启和 ...
分类:
编程语言 时间:
2020-04-27 17:26:25
阅读次数:
71