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

题目:2309.兼具大小写的最好英文字母

​​题目来源:

        leetcode题目,网址:2309. 兼具大小写的最好英文字母 - 力扣(LeetCode)

解题思路:

        遍历字符串以获得兼具大小写的英文字母,然后返回最大者或空串即可。

解题代码:

class Solution {public String greatestLetter(String s) {String res="";Set<Character> upper=new HashSet<>();Set<Character> lower=new HashSet<>();for(int i=0;i<s.length();i++){char temp=s.charAt(i);if(Character.isLowerCase(temp)){lower.add(temp);if(upper.contains((char)(temp-'a'+'A'))){if(res.length()==0 || res.charAt(0)-'A'<temp-'a'){res=(char)(temp-'a'+'A')+"";}}}else{upper.add(temp);if(lower.contains((char)(temp-'A'+'a'))){if(res.length()==0 || res.charAt(0)<temp){res=temp+"";}}}}return res;}
}
 

总结:

        官方题解给出了两种解法。第一种时哈希表,他是先使用哈希表保存字符,然后判断倒序遍历 26 个英文字母,返回第一个大小写都出现的字符或空串。第二种是位运算,lower 低26位保存小写字母是否出现,upper 低26位保存大小字母是否出现,然后遍历查找。


http://www.lryc.cn/news/114248.html

相关文章:

  • RISC-V公测平台发布:如何在SG2042上玩转OpenMPI
  • Jenkins 使用
  • 使用go-zero快速构建微服务
  • Java开发 - Redis事务怎么用?
  • Windows Server 2019安装使用PostgreSQL 15
  • 中科驭数亮相DPU峰会,分享HADOS软件生态实践和大数据计算方案,再获评“匠芯技术奖”
  • chrome、edge、Firefox关闭音量提醒控件显示
  • 3.7v升压5v4A芯片用什么型号
  • 鉴源实验室丨SOME/IP协议安全攻击
  • 什么?200?跨域?
  • 【数据结构与算法——TypeScript】算法的复杂度分析、 数组和链表的对比
  • 搜索综合训练
  • snowboy+新一代kaldi(k2-fsa)sherpa-onnx实现离线语音识别【语音助手】
  • APT80DQ20BG-ASEMI快恢复二极管80A 200V
  • Go的任务调度单元与并发编程
  • PDFbox教程_编程入门自学教程_菜鸟教程-免费教程分享
  • Node.js-模块化理解及基本使用
  • arguments 和 剩余参数
  • 【BASH】回顾与知识点梳理(十二)
  • 本地构建包含java和maven的镜像
  • Programming abstractions in C阅读笔记:p76-p83
  • 已解决(三个问题)|neo4j Failed authentication attempt for ‘meter‘ from 127.0.0.1
  • neo4j查询语言Cypher详解(二)--Pattern和类型
  • 动态规划(用空间换时间的算法)原理逻辑代码超详细!参考自《算法导论》
  • Jmeter添加cookie的两种方式
  • 【ArcGIS Pro二次开发】(58):数据的本地化存储
  • React配置代理服务器的5种方法
  • 树莓派:5.jar程序自启运行
  • Vivado中SmartConnect和InterConnect的区别
  • 了解HTTP代理日志:解读请求流量和响应信息