当前位置: 首页 > news >正文

day52

一、最长递增子序
class Solution {public int lengthOfLIS(int[] nums) {int[] top = new int[nums.length];// 牌堆数初始化为 0int piles = 0;for (int i = 0; i < nums.length; i++) {// 要处理的扑克牌int poker = nums[i];/***** 搜索左侧边界的二分查找 *****/int left = 0, right = piles;while (left < right) {int mid = (left + right) / 2;if (top[mid] > poker) {right = mid;} else if (top[mid] < poker) {left = mid + 1;} else {right = mid;}}/*********************************/// 没找到合适的牌堆,新建一堆if (left == piles) piles++;// 把这张牌放到牌堆顶top[left] = poker;}// 牌堆数就是 LIS 长度return piles;}
}
二、最长连续递增序列
class Solution {public int findLengthOfLCIS(int[] nums) {int[] dp = new int[nums.length];for (int i = 0; i < dp.length; i++) {dp[i] = 1;}int res = 1;//可以注意到,這邊的 i 是從 0 開始,所以會出現和卡哥的C++ code有差異的地方,在一些地方會看到有 i + 1 的偏移。for (int i = 0; i < nums.length - 1; i++) {if (nums[i + 1] > nums[i]) {dp[i + 1] = dp[i] + 1;}res = res > dp[i + 1] ? res : dp[i + 1];}return res;}
}
三、最长重复子数组
class Solution {public int findLength(int[] A, int[] B) {int max = 0;int[][] dp = new int[A.length + 1][B.length + 1];for (int i = 1; i <= A.length; i++) {for (int j = 1; j <= B.length; j++) {if (A[i - 1] == B[j - 1])dp[i][j] = dp[i - 1][j - 1] + 1;elsedp[i][j] = 0;max = Math.max(max, dp[i][j]);}}return max;}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 利用element实现简单右键
  • 某安全厂商外包安服工程师面试
  • css绘制下雨的云朵
  • 解决mysql5.7版本中,子查询order by后,对子查询进行group by分组获取最新记录无效的问题
  • LINQ(二) —— 流式语句
  • 【Unity Shader入门精要 第10章】高级纹理(一)
  • 音视频开发—音频相关概念:数模转换、PCM数据与WAV文件详解
  • 一、Nginx详解和安装
  • 翻译《The Old New Thing》- How do I mark a shortcut file as requiring elevation?
  • 微信小程序毕业设计-跑腿系统项目开发实战(附源码+演示视频+LW)
  • 青蛙跳台阶问题
  • [备忘.经验总结]特例问题通用问题,分而治之
  • 手机App收集个人信息,用户是否有权拒绝?
  • 所有平台均可发布,矩阵操作+工具+素材,自动混剪8090后怀旧视频
  • 牛客循环5.27
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • create-react-app项目添加less配置
  • JAVA SE 6 GC调优笔记
  • Java多线程(4):使用线程池执行定时任务
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • vue自定义指令实现v-tap插件
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • ------- 计算机网络基础
  • 前端路由实现-history
  • 手机端车牌号码键盘的vue组件
  • 异步
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​人工智能书单(数学基础篇)
  • #NOIP 2014# day.1 T2 联合权值
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (二)测试工具
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (三十五)大数据实战——Superset可视化平台搭建
  • (一)SpringBoot3---尚硅谷总结
  • (转)linux下的时间函数使用
  • .Net 4.0并行库实用性演练
  • .NET Core 成都线下面基会拉开序幕
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • .net 后台导出excel ,word
  • .NET 使用配置文件
  • .NET 事件模型教程(二)
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • [20170705]lsnrctl status LISTENER_SCAN1
  • [BZOJ2208][Jsoi2010]连通数
  • [delphi]保证程序只运行一个实例
  • [Docker]十二.Docker consul集群搭建、微服务部署,Consul集群+Swarm集群部署微服务实战
  • [flink总结]什么是flink背压 ,有什么危害? 如何解决flink背压?flink如何保证端到端一致性?
  • [GN] 设计模式——面向对象设计原则概述
  • [Go WebSocket] 多房间的聊天室(三)自动清理无人房间
  • [Google Guava] 1.1-使用和避免null
  • [HNOI2008]水平可见直线
  • [Invalid postback or callback argument]昨晚调试程序时出现的问题,MARK一下