跨境网站开发,有没有做试题的网站,企业所得税税率2019,seo网站推广排名#x1f680; 算法题 #x1f680; #x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 #x1f340; #x1f332; 越难的东西,越要努力坚持#xff0c;因为它具有很高的价值#xff0c;算法就是这样✨ #x1f332; 作者简介#xff1a;硕风和炜#xff0c;… 算法题 算法刷题专栏 | 面试必备算法 | 面试高频算法 越难的东西,越要努力坚持因为它具有很高的价值算法就是这样✨ 作者简介硕风和炜CSDN-Java领域新星创作者保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享 恭喜你发现一枚宝藏博主,赶快收入囊中吧 人生如棋我愿为卒行动虽慢可谁曾见我后退一步 算法题 目录 题目链接⛲ 题目描述 求解思路实现代码运行结果⚡ 差分数组 求解思路 实现代码 运行结果 共勉 题目链接
1094. 拼车
⛲ 题目描述
车上最初有 capacity 个空座位。车 只能 向一个方向行驶也就是说不允许掉头或改变方向
给定整数 capacity 和一个数组 trips , trip[i] [numPassengersi, fromi, toi] 表示第 i 次旅行有 numPassengersi 乘客接他们和放他们的位置分别是 fromi 和 toi 。这些位置是从汽车的初始位置向东的公里数。
当且仅当你可以在所有给定的行程中接送所有乘客时返回 true否则请返回 false。
示例 1
输入trips [[2,1,5],[3,3,7]], capacity 4 输出false 示例 2
输入trips [[2,1,5],[3,3,7]], capacity 5 输出true
提示
1 trips.length 1000 trips[i].length 3 1 numPassengersi 100 0 fromi toi 1000 1 capacity 105 求解思路实现代码运行结果 ⚡ 差分数组 求解思路
题目要求我们在载客量不超过capacity的情况下能否把所有的乘客都送到目的地。这个过程就可以转换为求解所有位置的载客量如果都满足小于capacity那么直接返回true否则返回false。说到底这其实就是区间更新的问题从from到to-1所有位置加numto-1位置减num。现在我们利用num中的变化量先通过差分数组求解其实本质是相当于操作原数组。此时只需要操作from加num和to位置减num即可。(等价于步骤三)最后直接将差分数组转换为原数组判断每一个位置的载客量即可。差分数组的具体算法可以参考下方的题解实现代码如下所示
推荐参考题解【算法小课堂】差分数组 实现代码
class Solution {public boolean carPooling(int[][] trips, int capacity) {int[] cntnew int[1005];for(int i0;itrips.length;i){int fromtrips[i][1],totrips[i][2],pastrips[i][0];cnt[from]pas;cnt[to]-pas;}int sum0;for(int i0;icnt.length;i){sumcnt[i];if(sumcapacity) return false;}return true;}
}运行结果 共勉
最后我想和大家分享一句一直激励我的座右铭希望可以与大家共勉