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

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")); } }
http://www.gsyq.cn/news/95171.html

相关文章:

  • DownKyi:B站视频下载的终极解决方案
  • 时间序列分析
  • D.二分查找-基础-2529. 正整数和负整数的最大计数
  • Go 操作 Redis
  • 20亿参数挑战千亿模型:土耳其语专用LLM Kumru-2B改写行业规则
  • MachineLearningLM:革新大语言模型上下文学习能力的突破性框架
  • 板栗矮砧密植:水肥一体化系统的铺设要点指南
  • 百度网盘提取码自动获取神器:告别手动搜索的3步智能解决方案
  • Flutter 实现一个容器内部元素可平移、缩放和旋转等功能(三)
  • LeetCode 3606.优惠券校验器:分类 + 排序
  • 本地化部署腾讯混元大模型并集成Elasticsearch构建智能检索系统全攻略
  • 004登录功能测试
  • 每日三题 6
  • 错误处理与异常调试在Ascend C中的艺术:从防御性编程到系统级排查
  • 腾讯云智能体开发平台RAG模型商业化倒计时 核心功能12月10日起正式计费
  • iTerm2 美化
  • 小米开源MiDashengLM-7B声音大模型:22项测评登顶SOTA,推理效率提升4倍
  • HunyuanImage-GGUF模型部署全攻略:从基础配置到轻量化实践
  • 生成PPT的提示词模版
  • 每日一题Day09-划分字母区间
  • OpenHarmony与ArkUI-X的AtomGit_Pocket详细版
  • 改善深层神经网络 第一周:深度学习的实践(三)dropout
  • 文本指令驱动视频创作革命:Lucy Edit AI开源模型重塑内容生产范式
  • 计算机毕业设计必看必学~ 基于SSM的大学生就业平台的设计与实现85751,原创定制程序、单片机、java、PHP、Python、小程序、文案全套、毕设成品等!
  • 44、SQL Server 与 PostgreSQL 的对比及迁移指南
  • 45、SQL Server 迁移与容器化应用指南
  • 24、网页开发技术综合解析
  • 惯导姿态解算中的一下实际问题1(附姿态解算相关的C、matlab代码)
  • 41、迁移到 Linux 上的 SQL Server:工具与方法指南
  • 3分钟搞定百度网盘全速下载:小白也能轻松上手的终极方案