news 2026/5/23 18:06:57

A.每日一题——3606. 优惠券校验器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
A.每日一题——3606. 优惠券校验器

题目链接:3606. 优惠券校验器(简单)

算法原理:

解法:模拟

击败47.54%

时间复杂度O(Nlogn)

这题的思路非常简单,但是实现起来比较麻烦,感觉应该算个中等题,主要就是考察排序

记忆👇

1. 字符串比:compareTo ✅
什么词序、字典序、名称排序都用它
2. 数字比:用包装类的 compare ✅
Integer.compare(a, b)、Double.compare(a, b)
3. 其他基本类型:直接相减 ✅
char1 - char2、int1 - int2(小数值可用)

Java代码:

class Solution { public List<String> validateCoupons(String[] c, String[] b, boolean[] isActive) { int n=c.length; List<String> ret=new ArrayList<>(); String[][] tmp=new String[n][2]; for(int i=0;i<n;i++){ if(isc(c[i])&&isb(b[i])&&isActive[i]){ tmp[i][0]=c[i]; tmp[i][1]=b[i]; }else{ //标记为无效记录,防止空指针报错 tmp[i][0]=""; tmp[i][1]=""; } } Arrays.sort(tmp,(x,y)->{ //处理空记录:空记录排在最后 if(x[0].equals("")&&y[0].equals("")) return 0; if(x[0].equals("")) return 1;//x为空,x在后面 if(y[0].equals("")) return -1;//y为空,x在前面 //先比较品牌首字符 int tmpret=Character.compare(x[1].charAt(0),y[1].charAt(0)); if(tmpret!=0) return tmpret; //品牌首字母相同,再比较代码 return x[0].compareTo(y[0]); }); for(String[] t:tmp){ if(t[0].equals("")) continue; ret.add(t[0]); } return ret; } private boolean isc(String s){ for(char c:s.toCharArray()){ if(!(c>='a'&&c<='z')&&!(c>='A'&&c<='Z') &&!(c>='0'&&c<='9')&&!(c=='_')) return false; } return true; } private boolean isb(String s){ return (s.equals("electronics")||s.equals("grocery")||s.equals("pharmacy")||s.equals("restaurant")); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 15:42:33

一篇拿下!C++:类和对象(上)、封装、实例化和this指针详解

一、类的定义类的定义格式class为定义类的关键字&#xff0c;Stack为类的名字&#xff0c;{}中为类的主体&#xff0c;注意类定义结束时后面分号不能省略。类体中内容称为类的成员&#xff1a;类中的变量称为类的属性或成员变量; 类中的函数称为类的方法或者成员函数。为了区分…

作者头像 李华
网站建设 2026/5/23 16:23:37

板栗矮砧密植:水肥一体化系统的铺设要点指南

认识板栗矮砧密植板栗矮砧密植&#xff0c;简单来说就是选用矮化砧木嫁接的板栗品种&#xff08;Dwarf rootstock variety&#xff09;&#xff0c;通过科学增加种植密度来提高产量的创新栽培模式。就像在有限的果园空间里&#xff0c;精心规划每一寸土地&#xff0c;让更多果树…

作者头像 李华
网站建设 2026/5/23 16:23:42

LeetCode 3606.优惠券校验器:分类 + 排序

【LetMeFly】3606.优惠券校验器&#xff1a;分类 排序 力扣题目链接&#xff1a;https://leetcode.cn/problems/coupon-code-validator/ 给你三个长度为 n 的数组&#xff0c;分别描述 n 个优惠券的属性&#xff1a;code、businessLine 和 isActive。其中&#xff0c;第 i 个…

作者头像 李华
网站建设 2026/5/22 22:33:37

ensp vlan实验作业

一、实验拓扑&#xff08;截自己的拓扑图&#xff0c;附加上地址分配情况&#xff09;二、实验需求1、全网可达&#xff1b;2、使用DHCP获取IP地址&#xff1b;三、配置思路1、在各个交换机上创建vlan2、分析链路类型&#xff0c;配置相应的接口为access口或是trunk口3、配置路…

作者头像 李华
网站建设 2026/5/15 6:54:50

24、网页开发技术综合解析

网页开发技术综合解析 1. 基础概念与环境搭建 在网页开发领域,有众多基础概念和环境搭建的要点需要掌握。首先是互联网相关的概念,互联网地址、IP 协议以及互联网服务提供商(ISP)是网络连接的基础。而在操作系统方面,Linux 是一个重要的选择。Linux 有多种发行版,如 Re…

作者头像 李华
网站建设 2026/5/17 3:56:29

39、SQL Server管理与监控全解析

SQL Server管理与监控全解析 1. 服务器端代码管理 在SQL Server中,创建T - SQL服务器端代码,如存储过程、视图、函数和触发器后,可能需要对其进行修改或删除。每种对象类型都支持与CREATE语法对应的ALTER和DROP T - SQL版本。 当使用ALTER修改服务器端编程对象(如存储过…

作者头像 李华