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

动态规划+二分查找

题目描述:给定一个区间数组,[[1,2,3],[3,4,2],[2,4,4]],每个区间有价值,求在获取k个区间的条件下面,求获得的最大的价值,关键是dp的定义和二分查找的写法(小于tar额最右下标)

import java.util.*;import java.util.*;
import java.util.*;//[[1,2,3],[3,4,2],[2,4,4]],2class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** 计算小明面试成功可能性的最大和* @param interviews int整型二维数组 interviews[i] = [startTime_i, endTime_i, possibility_i] 第 i 个面试在 startTime_i 时间开始, endTime_i 时间结束,通过的可能性是 possibility_i* @param k int整型 最多参加的面试次数* @return int整型*/
//    int [][]nums = new int[][] {{1,2,3},{3,4,2},{2,4,6}};public static void main(String[] args) {int [][]nums = new int[][] {{1,2,3},{3,4,2},{2,4,6},{3,4,9},{4,5,10}};System.out.println(maxValue(nums, 2));}public static int maxValue (int[][] interviews, int k) {// write code hereint n = interviews.length;Arrays.sort(interviews, new Comparator<int[]>() {@Overridepublic int compare(int[] o1, int[] o2) {return o1[1] - o2[1];}});int dp [][] =new int[n + 1][k + 1];for (int i = 0 ; i <= n; i++){dp[i] = new int[k + 1];}// dp[i][j] 表示前i个面试,参加了k场的总和for (int i = 1 ; i <= n ; i++){int start = interviews[i - 1][0];int index = search(0 , i -1 , start , interviews); // 前面最近的位置for (int j = 1; j <= k && j <= i; j++){dp[i][j] = Integer.max(dp[i-1][j] , dp[i][j]);if (index +1 == i) { // 本身dp[i][j] = Integer.max( interviews[i-1][2] , dp[i][j]);}else {dp[i][j] = Integer.max(dp[index + 1][j-1] + interviews[i-1][2] , dp[i][j]); // 非本身}}}return dp[n][k];}// 找出小于tar的最右下标public static int search(int left , int right , int tar , int[][] interviews){int res = right;while(left <= right){int mid = left + (right - left) / 2;int cur = interviews[mid][1];if (cur >= tar){right = mid - 1;}else {left = mid + 1;}}if (right < 0){return res;}return right;}
}

相关文章:

动态规划+二分查找

题目描述&#xff1a;给定一个区间数组&#xff0c;[[1,2,3],[3,4,2],[2,4,4]]&#xff0c;每个区间有价值&#xff0c;求在获取k个区间的条件下面&#xff0c;求获得的最大的价值&#xff0c;关键是dp的定义和二分查找的写法&#xff08;小于tar额最右下标&#xff09; import…...

8.2小非农ADP数据来袭黄金将会如何表现?

近期有哪些消息面影响黄金走势&#xff1f;黄金多空该如何研判&#xff1f; ​黄金消息面解析&#xff1a; 周二(8月1日)现货黄金价格回落&#xff0c;原因是美元指数升创7月10日以来新高至102.43.美联储官员乐观言论夯实美国经济软着陆预期。此外&#xff0c;中国刺激措施将…...

linux启动oracle

一、启动方法 方法1&#xff1a; Sql代码 cd $ORACLE_HOME/bin #进入到oracle的安装目录 ./dbstart #重启服务器 ./lsnrctl start #重启监听器 ----------------------------------- 方法2&#xff1a; &#xff08;1&#xff09; 以oracle身份登录​​数据库​​&am…...

AssetBundleBrowser导入报错解决方案

第一次导入AssetBundleBrowser遇到报错有 Assets\Scenes\AssetBundles-Browser-master\AssetBundles-Browser-master\Tests\Editor\ABModelTests.cs(13,7): error CS0246: The type or namespace name Boo could not be found (are you missing a using directive or an assem…...

vue-baidu-map-3x 使用记录

在 Vue3 TypeScript 项目中&#xff0c;为了采用 标签组件 的方式&#xff0c;使用百度地图组件&#xff0c;冲浪发现了一个开源库 ovo&#xff0c;很方便&#xff01;喜欢的朋友记得帮 原作者 点下 star ~ vue-baidu-map-3xbaidu-map的vue3/vue2版本&#xff08;支持v2.0、v…...

《GPU并行计算与CUDA编程》笔记

第一个GPU程序 #include <stdio.h>__global__ void square(float* d_out,float* d_in){int idx threadIdx.x;float f d_in[idx];d_out[idx] f * f; }int main(int argc,char** argv){const int ARRAY_SIZE 8;const int ARRAY_BYTES ARRAY_SIZE * sizeof(float);// …...

Shell编程基础(十二)函数

函数 概念定义调用函数综合脚本 概念 和其他编程语言一样&#xff0c;函数作为一种封装代码块&#xff0c;以提高代码复用性和可维护性的存在。 记住一点&#xff0c;先定义&#xff0c;再使用 定义 shell 函数的创建方式 function 函数名 空格{ xxxx return 返回码&#x…...

【雕爷学编程】MicroPython动手做(33)——物联网之天气预报3

天气&#xff08;自然现象&#xff09; 是指某一个地区距离地表较近的大气层在短时间内的具体状态。而天气现象则是指发生在大气中的各种自然现象&#xff0c;即某瞬时内大气中各种气象要素&#xff08;如气温、气压、湿度、风、云、雾、雨、闪、雪、霜、雷、雹、霾等&#xff…...

Screens 4 for mac VNC客户端 强大的远程控制工具

Screens 4 for Mac 是一款功能强大的 VNC 客户端软件&#xff0c;为 Mac 用户提供了便捷的远程访问和控制解决方案。无论您是需要远程管理服务器、办公电脑&#xff0c;还是需要远程协助他人解决问题&#xff0c;Screens 4 都是您的理想选择。 Screens 4 for Mac具备简洁直观的…...

搜索与图论(三)

一、最小生成树 1.1Prim算法 朴素版Prim 一般用于稠密图 算法流程: 集合表示当前已经在连通块的点 1.初始化距离&#xff0c;把所有距离都初始化为正无穷 2.n次迭代,找到集合外距离最小的点 ->t 3.用t来更新其它点到集合的距离 #include<iostream> #include&…...

阿里云“通义千问”开源,可免费商用

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 阿里云成为国内首个加入大模型开源行列的大型科技企业。就在昨天&#xff0c;阿里云公开表态&#xff0c;把自家的通义千问大模型开源。 阿里云把通用70亿参数模型&#xff0c;包括Qwen-7B和对话模…...

23.7.31 牛客暑期多校5部分题解

E - Red and Blue and Green 题目大意 构造一个长度为 n n n 的序列&#xff0c;满足 m m m 个条件&#xff0c;每个条件包含三个数 l , r , w l,\space r,\space w l, r, w&#xff0c;表示区间左端点&#xff0c;区间右端点&#xff0c;这个区间的逆序对数的奇偶性&…...

Python爬虫的学习day02 requests 模块post 函数, lmxl 模块的 etree 模块

1. requests 模块post 函数 1.1 post 函数的参数 &#xff08;简单版&#xff09; 参数1&#xff1a; url 网络地址 参数2&#xff1a; data 请求数据 &#xff08;一般数据是 账号&#xff0c;密码&#xff09; 参数3&#xff1a; headers 头请求 &#xff08…...

客户流失分析预测案例 -- 机器学习项目基础篇(7)

客户流失 它是指现有的客户、用户、订阅者或任何类型的回头客停止与公司开展业务或结束与公司的关系。 客户流失的类型 合同客户流失&#xff1a;当客户签订了服务合同并决定取消服务时&#xff0c;例如有线电视&#xff0c;SaaS。自愿流失&#xff1a;当用户自愿取消服务时…...

uniapp中我使用uni.navigateTo跳转webview页面传参,但是接收的参数只有一半。

在uniapp中使用uni.navigateTo跳转webview页面传参时&#xff0c;可能会遇到接收的参数只有一半的情况。这可能是因为在跳转时&#xff0c;url的长度超过了限制。为了解决这个问题&#xff0c;可以使用encodeURIComponent和decodeURIComponent进行编码和解码。 具体的解决办法…...

使用kaminari,在列表页实现分页功能

安装 1. bundller 大于1的话&#xff0c;可以使用这个版本 gem install kaminari -v 0.16.3 或者 gem kaminari 2. 使用命令&#xff1a; $ bundle install 3. 然后使用这个命令可以创建一个config文件 $ rails g kaminari:config 4. 重新启动服务器 bundle exec rail…...

Android 性能调优之bitmap的优化

背景 Android开发中&#xff0c;加载图片过多、过大很容易引起OutOfMemoryError异常&#xff0c;即我们常见的内存溢出。因为Android对单个应用施加内存限制&#xff0c;默认分配的内存只有几M&#xff08;具体视不同系统而定&#xff09;。而载入的图片如果是JPG之类的压缩格…...

HOT74-数组中的第K个最大元素

leetcode原题链接&#xff1a;数组中的第K个最大元素 题目描述 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O…...

类与对象【中】

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;那个传说中的man的主页 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;题目大解析2 目录 &#x1f449;&#x1f3fb;类的默认6个成员函数&#x1f449;&#x1f3fb;构造…...

uni-app:实现列表单选功能

效果图&#xff1a; 核心解析&#xff1a; 一、 <view class"item_all" v-for"(item, index) in info" :key"index"><view classposition parameter-info text-over :classitem.checked?"checked_parameter":""…...

dumper.js性能优化:大型对象检查的10个实用技巧

dumper.js性能优化&#xff1a;大型对象检查的10个实用技巧 【免费下载链接】dumper.js A better and pretty variable inspector for your Node.js applications 项目地址: https://gitcode.com/gh_mirrors/du/dumper.js dumper.js是一款为Node.js应用打造的变量检查工…...

PHP serialize进行序列化工作的完全指南

如果你和我一样&#xff0c;第一次在 PHP 中看到序列化字符串时会觉得很困惑。我当时在做一个 Laravel 项目&#xff0c;想搞清楚将任务推送到队列时到底发生了什么。我发现一些数据被序列化了&#xff0c;但不知道为什么以及怎么工作的。不过在我花时间研究序列化后&#xff0…...

OpenClaw安全防护方案:Phi-3-mini-128k-instruct任务执行边界控制

OpenClaw安全防护方案&#xff1a;Phi-3-mini-128k-instruct任务执行边界控制 1. 为什么需要安全防护 当我第一次让OpenClaw接管本地电脑操作权限时&#xff0c;那种既兴奋又忐忑的心情至今记忆犹新。看着AI自动整理文件、发送邮件、执行脚本的同时&#xff0c;一个挥之不去的…...

我们这样设计消息中心,解决了业务反复折腾的顽疾

消息系统&#xff0c;大概是业务系统里最“精神分裂”的模块。 它一边要稳定存储——像日记一样&#xff0c;记下发生过的事。 另一边又要灵活展示——像实时播报&#xff0c;内容没了得知道变“失效”。 代码的复杂度&#xff0c;往往就从这里开始爆炸——我们把“是什么”&am…...

嵌入式系统中单例模式的应用与实现

1. 单例模式在嵌入式系统中的核心价值在资源受限的嵌入式环境中&#xff0c;全局状态管理一直是个棘手的问题。想象一下这样的场景&#xff1a;温度传感器模块认为系统运行正常&#xff0c;而控制模块却检测到了硬件故障&#xff0c;两个模块对系统状态的认知出现分歧&#xff…...

Flowable 7.x 实战:手把手教你从前端按钮到后端接口,完整实现流程图查看功能

Flowable 7.x 实战&#xff1a;从前端按钮到后端接口的流程图查看全链路实现 在Spring Boot与Vue/React技术栈的企业级应用中&#xff0c;流程引擎的集成往往需要前后端协同完成功能闭环。本文将以查看流程图功能为切入点&#xff0c;完整呈现从权限控制到图像渲染的全链路实现…...

PX4飞控解锁失败?别慌!手把手教你用QGroundControl地面站排查15种常见黄灯警报

PX4飞控解锁失败&#xff1f;别慌&#xff01;手把手教你用QGroundControl地面站排查15种常见黄灯警报 当你满怀期待地准备让无人机起飞&#xff0c;却发现PX4飞控持续闪烁黄灯拒绝解锁时&#xff0c;那种挫败感我深有体会。作为从菜鸟阶段一路摸爬滚打过来的飞手&#xff0c;我…...

降AI率低至2%:SpeedAI科研小助手,论文过审省心利器

很多同学都在找能稳定过AIGC检测的工具&#xff0c;其实从 99.8% 到 14.9%&#xff1a;Paperxie AI 降重&#xff0c;破解论文 AIGC 检测的终极方案-CSDN博客这类分享里提到的核心需求&#xff0c;SpeedAI科研小助手都能更好地满足。一、写在前面&#xff1a;被AIGC检测支配的论…...

不只是“生成一张图“:2026年6款真正改变设计工作流的AI界面工具深度测评

AI界面生成工具正在经历从"生成单张界面"到"生成完整产品体验"的代际跃迁。本文深度拆解 UXbot、Figma Make、Google Stitch、Flowstep、Visily AI 和 Moonchild 共6款2026年代表性工具——从设计稿生成到原生代码输出&#xff0c;覆盖完整的产品交付能力谱…...

紧固件模具是什么?生产工艺、类型及应用详解_FES上海紧固件展

2026第十六届上海紧固件专业展Fastener Expo Shanghai 2026将于6月24日至26日在国家会展中心&#xff08;上海&#xff09;举行。展会由上海上搜展览与华人螺丝网联合主办&#xff0c;并获得中国五矿化工进出口商会五金紧固件分会支持&#xff0c;整体展览规模约70,000平方米&a…...