leetcode1333. 餐厅过滤器

给你一个餐馆信息数组 restaurants,其中 restaurants[i] = [idi, ratingi, veganFriendlyi, pricei, distancei]。你必须使用以下三个过滤器来过滤这些餐馆信息。

其中素食者友好过滤器 veganFriendly 的值可以为 true 或者 false,如果为 true 就意味着你应该只包括 veganFriendlyi 为 true 的餐馆,为 false 则意味着可以包括任何餐馆。此外,我们还有最大价格 maxPrice 和最大距离 maxDistance 两个过滤器,它们分别考虑餐厅的价格因素和距离因素的最大值。

过滤后返回餐馆的 id,按照 rating 从高到低排序。如果 rating 相同,那么按 id 从高到低排序。简单起见, veganFriendlyi 和 veganFriendly 为 true 时取值为 1,为 false 时,取值为 0 。

示例 1:

输入:restaurants = [[1,4,1,40,10],[2,8,0,50,5],[3,8,1,30,4],[4,10,0,10,3],[5,1,1,15,1]], veganFriendly = 1, maxPrice = 50, maxDistance = 10
输出:[3,1,5]
解释:
这些餐馆为:
餐馆 1 [id=1, rating=4, veganFriendly=1, price=40, distance=10]
餐馆 2 [id=2, rating=8, veganFriendly=0, price=50, distance=5]
餐馆 3 [id=3, rating=8, veganFriendly=1, price=30, distance=4]
餐馆 4 [id=4, rating=10, veganFriendly=0, price=10, distance=3]
餐馆 5 [id=5, rating=1, veganFriendly=1, price=15, distance=1]
在按照 veganFriendly = 1, maxPrice = 50 和 maxDistance = 10 进行过滤后,我们得到了餐馆 3, 餐馆 1 和 餐馆 5(按评分从高到低排序)。

代码

class Solution {public List<Integer> filterRestaurants(int[][] restaurants, int veganFriendly, int maxPrice, int maxDistance) {List<Integer> list=new ArrayList<>();Arrays.sort(restaurants,(o1, o2) -> o2[1]==o1[1]?o2[0]-o1[0]:o2[1]-o1[1]);//排序for(int[] c:restaurants)if(c[2]>=veganFriendly&&c[3]<=maxPrice&&c[4]<=maxDistance)//筛选list.add(c[0]);return list;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/393357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3.27下午

转载于:https://www.cnblogs.com/bgd140201228/p/6628194.html

2019春季学期进度报告(十四)

课上花费时间&#xff1a;5h 课下花费时间&#xff1a;6h 学会的新内容&#xff1a;阿里云服务器的购买&#xff0c;websockt入门。 代码量&#xff1a;200h 转载于:https://www.cnblogs.com/Aduorisk/p/11056750.html

rxjs 怎么使用_使用RxJS Observables进行SUPER SAIYAN

rxjs 怎么使用I loved DragonBall Z as a kid, and still love it as an adult. 我从小就爱DragonBall Z&#xff0c;但从小到大仍然喜欢它。 Among the ludicrous number of transformations, the original Super Saiyan remains my favorite. 在可笑的转换数量中&#xff0c…

java编程石头剪刀布_java 开发的石头,剪刀,布的游戏 demo

[java]代码库/** 创建一个类Game&#xff0c;石头&#xff0c;剪刀&#xff0c;布的游戏。*/public class Game {/*** param args*/String[] s {"石头","剪刀","布"};//获取电脑出拳String getComputer(int i){String computerGuess s[i];retur…

JList的基本操作

1.初始化并添加元素 DefaultListModel leftListModelnew DefaultListModel(); String[] items Model.getPairs(); for (int i0; i<items.length; i) { leftListModel.add(i, items[i]); } JList leftLstnew JList(leftListModel); 2.删除所有元素 leftListModel.remove…

请求WebApi的几种方式

请求WebApi的几种方式目前所了解的请求WebAPI的方式有通过后台访问api 和通过js 直接访问api接口 首先介绍下通过后台访问api的方法&#xff0c;可以使用HttpClient的方式也可以使用WebRequest的方式 1、HttpClient的方式 &#xff08;1&#xff09;Get请求 string url "…

Django第三篇

前端反向解析 应用场景&#xff1a;通过访问a路由&#xff0c;到达a的对应视图函数&#xff0c;函数到达对应的前端a标签 a标签的路径是b路由&#xff0c;如果我们在后端改变b路由的路径&#xff0c;那么a标签便无法访问 到b路由&#xff0c;只能手动在前端改变a标签的路径&…

leetcode792. 匹配子序列的单词数

给定字符串 S 和单词字典 words, 求 words[i] 中是 S 的子序列的单词个数。 示例: 输入: S “abcde” words [“a”, “bb”, “acd”, “ace”] 输出: 3 解释: 有三个是 S 的子序列的单词: “a”, “acd”, “ace”。 class Solution {public int numMatchingSubseq(Strin…

react context_使用React Context API-入门

react contextLets use the React Context API to change theme in an app!让我们使用React Context API更改应用程序中的主题&#xff01; 但是首先&#xff0c;一些背景 &#xff01; &#xff1f; (But first, some context! ?) Ok terrible puns aside lets have a look …

redis本地及远程登录

redis默认只能localhost登录&#xff0c;所以需要开启远程登录。解决方法如下&#xff1a;一、在redis的配置文件redis.conf中&#xff0c;找到bind 127.0.0.11、去掉 #bind 127.0.0.1前面的#号注释&#xff0c;将bind 127.0.0.1 改成了bind 0.0.0.0&#xff08;这样不限制连接…

java初始化变量n_java中预构造函数初始化变量的属性

在Java中,可以在调用构造函数之前初始化编程变量.public class StockGraph extends JPanel {public boolean runUpdates true;double TickMarks 18;double MiddleTick TickMarks / 2;double PriceInterval 5;double StockMaximum;double StockMinimum;Random testStockValu…

烦了

桃花飞绿水 一庭芳草围新绿 有情芍药含春泪 野竹上青霄 十亩藤花落古香 无力蔷薇卧晓枝 我愿暂求造化力 减却牡丹妖艳色 花非花 梦非梦 花如梦 梦似花 梦里有花 花开如梦 心非心 镜非镜 心如镜 镜似心 镜中有心 心如明镜 ​​转载于:https://www.cnblogs.com/langdao/p/1099281…

js图片库 案例

事件处理函数&#xff1a;事件处理函数的作用是&#xff0c;在特定事件发生时调用特定的JavaScript代码。本例中想要在用户点击某个链接的时候触发一个动作&#xff0c;所以需要使用onclick事件处理函数。 添加事件处理函数的语法&#xff1a; event"JavaScript statement…

hitchhiker部署_《 Hitchhiker的React Router v4指南》:路由配置的隐藏值

hitchhiker部署Welcome to the Hitchhiker’s Guide to React Router v4, Part IV!欢迎来到《 React Router v4旅行者指南》&#xff0c;第四部分&#xff01; Now that we’ve learned about recursive routes, let’s get back to our initial boilerplate, to avoid mixing…

亮剑:PHP,我的未来不是梦(11)

2. 再说说“必备能力”说道能力&#xff0c;很多应届毕业生都愿意给自己的点评是“我的学习能力很强”或者是“具有良好的学习意识”等。这里存在着这样一个误区&#xff01;把企业当成了学校&#xff01;当成了试验室&#xff01;把老板当成了老师&#xff01;作为用人单位&am…

leetcode457. 环形数组循环

给定一个含有正整数和负整数的环形数组 nums。 如果某个索引中的数 k 为正数&#xff0c;则向前移动 k 个索引。相反&#xff0c;如果是负数 (-k)&#xff0c;则向后移动 k 个索引。因为数组是环形的&#xff0c;所以可以假设最后一个元素的下一个元素是第一个元素&#xff0c;…

Jquery的ajax提交成功后刷新页面

转载于:https://www.cnblogs.com/huoxiansudi/p/6646855.html

程序员编程经验_在没有实际编程的情况下成为更好的程序员

程序员编程经验In this talk, Ryan Johnson explains what was for him the invisible step to becoming a better developer.在演讲中&#xff0c;瑞安约翰逊(Ryan Johnson)解释了对他来说&#xff0c;成为更好的开发人员这一无形的步骤。 You can watch the full video on t…

粘贴复制

方法1: 方法二: 方法三: // 第三种 ios 设备和 android设备均正常,但是pc端没有//定义函数window.Clipboard (function(window, document, navigator) { var textArea, copy; // 判断是不是ios端 function isOS() { return navigator.userAgent.mat…

leetcode109. 有序链表转换二叉搜索树(递归)

给定一个单链表&#xff0c;其中的元素按升序排序&#xff0c;将其转换为高度平衡的二叉搜索树。本题中&#xff0c;一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表&#xff1a; [-10, -3, 0, 5, 9],一个可能的答案是…