leetcode动态规划题目录
leetcode — 198/213 打家劫舍I II(动态规划入门)leetcode —64 矩阵的最小路径和(动态规划)leetcode — 413 等差数列划分(动态规划)62 矩阵总路径数 (比较简单)303 数组区间和
leetcode — 121 买卖股票最佳时机
题目题解代码 public static int maxProfit2(int[] prices) { int n = prices.length; if(prices == null || n == 0) return 0; int[] dp = new int[n]; dp[0] = 0; for(int i=1;i<n;i++) { dp[i] = Math.max(dp[i-1], prices[i] - min(prices, i));
leetcode — 714 买卖股票的最佳时机含手续费
题目纪念第一个秒写的dp哈哈哈哈哈哈哈哈,哦除了斐波那契。详解dp[i][0] 表示第i天,且手里有股票,的最大利润。dp[i][1]表示第i天,且手里没有股票,的最大利润。dp[i][0]:第i天手里有股票,可能是今天买的(那么i-1天就没有股票dp[i-1][1],第i天花了股票的价格和手续费),也可能是今天之前买的(那么i-1天就有股票dp[i-1][0])。所以dp[i][0] = max(dp[i-1][1] - prices[i] - fee, dp[i-1][0])。
leetcode — 123 最多两次交易的股票买卖
题目详解【转载】五种实现+详细图解 123.买卖股票的最佳时机 III代码 public int maxProfit4(int[] prices) { if(prices==null || prices.length==0) { return 0; } int n = prices.length; //定义三维数组,第i天、交易了多少次、当前的买卖状态 int[][][] dp = new i
TCP半连接队列和全连接队列
(图片来源http://www.cnxct.com/something-about-phpfpm-s-backlog/)syns queue(半连接队列);accept queue(全连接队列)三次握手中,在第一步server收到client的syn后,把相关信息放到半连接队列中,同时回复syn+ack给client(第二步);比如syn floods 攻击就是针对半连接队列的,攻击方不停地建连接,但是建连接的时候只做第一步,第二步中攻击方收到server的syn+ack后故意扔掉什么也不做,导致s.
OOM内存溢出的原因和解决方法
一 堆溢出java.lang.OutOfMemoryError: ......java heap space.....原因:要么代码有问题,要么访问量太多并且每个访问的时间太长或者数据太多,导致数据释放不掉,因为垃圾回收器是要找到那些是垃圾才能回收,这里它不会认为这些东西是垃圾,自然不会去回收。在这个溢出之前,可能系统会提前先报错关键字为 java.lang.OutOfMemoryError:GC over head limit exceeded。这种情况是当系统处于高频的GC状态,而且回收的效果依然
分布式session的一致性
存在的一致性问题客户端发送一个请求,经过负载均衡后该请求会被分配到服务器中的其中一个,由于不同服务器含有不同的web服务器(例如Tomcat),不同的web服务器中并不能发现之前web服务器保存的session信息,就会再次生成一个JSESSIONID,之前的状态就会丢失。解决方案...
String的trim()和substring()
trim() public String trim() { int len = value.length; int st = 0; char[] val = value; /* avoid getfield opcode */ while ((st < len) && (val[st] <= ' ')) { st++; } while ((st <
Mysql中的表锁、行锁
Innodb行锁InnoDB行锁是通过索引上的索引项来实现的,这一点MySQL与Oracle不同,后者是通过在数据中对相应数据行加锁来实现的。InnoDB这种行锁实现特点意味者:只有通过索引条件检索数据,InnoDB才会使用行级锁,否则,InnoDB将使用表锁。间隙锁当用范围条件而不是相等条件检索数据,并请求共享或排他锁时,InnoDB会给符合条件的已有数据的索引项加锁;对于键值在条件范围内但并不存在的记录,叫做“间隙(GAP)”,InnoDB也会对这个“间隙”加锁,这种锁机制就是所谓的间隙锁(Ne
死锁的预防、避免、检测、恢复
一 概念一组进程中每个进程都等待此组进程中其他进程所占有的,因而永远无法得到的资源,这种现象称为进程死锁。产生的条件资源独占:一个资源在同一时刻只能被分配给一个进程。不可剥夺:资源申请者不能强行的从资源占有者手中夺取资源。保持申请:进程在占有部分资源后还可以申请新的资源。循环等待:存在一个进程等待队列。上述条件同时满足时,死锁才会发生。根本原因是系统提供的资源个数小于并发进程所需的该类资源。可分为竞争资源产生的死锁、进程通信产生的死锁、其他原因等。二 死锁的处理不让死锁发生:死锁
Spring boot/Spring/SpringMVC
Spring 是一个“引擎”;Spring MVC 是基于Spring的一个 MVC 框架;Spring MVC提供了一种轻度耦合的方式来开发web应用。它是Spring的一个模块,是一个web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。解决的问题领域是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。Spring Boot 是基于Spring4的条件注册的一套快速开发整合包。S
今日推荐
周排行