[算法总结] 关于字符串类型题你应该知道这些?精心汇总!!

news/2024/11/29 4:46:30/

😚一个不甘平凡的普通人,致力于为Golang社区和算法学习做出贡献,期待您的关注和认可,陪您一起学习打卡!!!😘😘😘
🤗专栏:算法学习
🤗专栏:Go实战
💬个人主页:个人主页

在这里插入图片描述

文章目录

  • 问题描述
  • 字符串操作中常用方法
      • Character类
      • HashMap || HashSet
      • 验证数字是否超过int类型范围

问题描述

最近在练习字符串类型的算法题时候,编程语言内部自带了很多api还有一些实用的方法,在此总结一下用法,方便后面回顾使用。

字符串操作中常用方法

Character类

1.返回的是一个boolean类型的,可以用于去除字符串中非数字和字母的字符
Character.isLetterOrDigit()
2.判断是否是字符
Character.isDigit()
3.判断是否是小写字符
Character.isLowerCase()
4.转换成小写或者大写
Character.toLowerCase()
Character toUpperCase()

HashMap || HashSet

一般题中要求去重的时候,可以使用HashSet,set表中不支持有重复元素

   HashSet<Integer> set = new HashSet<>();set.add(1);//添加元素System.out.println(set.size()); //长度set.remove(1); //删除元素System.out.println(set.isEmpty()); // 判断是否是空set.clear(); //清除所有元素//判断是否包含某个元素 ,布尔类型System.out.println(set.contains(1));

一般题中要统计字符出现的次数,可以使用HashMap来统计,支持重复

	HashMap<Character,Integer> map  = new HashMap<>();map.put('1',1); //压入元素map.get('1');// 提取键值//获取键值,默认为0map.getOrDefault('1',0);System.out.println(map.isEmpty()); //判断是否为空System.out.println(map.containsKey('1')); //判断是否含有键map.remove('1'); //删除map.values(); //显示所有的值map.size();//获得每一个键和值for(Map.Entry<Character,Integer> entry: map.entrySet()){int key = entry.getKey(),value = entry.getValue();}

验证数字是否超过int类型范围

这类题经常遇到,所以总结一下。以这个例子

 public static void main(String[] args) {String a = "12312";int result = 0;for(int i =0;i<a.length();i++){//拿到数字int temp = result*10+(a.charAt(i)-'0');if(temp/10 != result){System.out.println(1);}result = temp;}}

http://www.ppmy.cn/news/48735.html

相关文章

OpenAI最新官方ChatGPT聊天插件接口《插件使用策略》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(七)(附源码)

Usage policies 使用策略 Introduction 导言Disallowed usage of our models 禁止使用我们的模型 Platform policy 平台策略Plugin policies 插件策略Changelog 更新日志其它资料下载 此插件使用策略 Updated 更新于 March 23,2023 2023年3月23日 Introduction 导言 We’ve r…

Onnx 转Ncnn

Onnx 转Ncnn 算法工程师给了onnx,需要转成ncnn才能用到安卓上去&#xff0c;步骤如下 简化onnx 算法给了.onnx后缀的文件&#xff0c;100多兆&#xff0c;太大&#xff0c;第一步&#xff0c;先简化&#xff1a; conda env list 查看conda环境&#xff08;前提是之前已经配…

学科类型-英文

标题 前言必学场景词汇及用法数学数字运算数学几何历史物理化学美术音乐语言学天文学生物学植物学生态学社会学情境常用单词数学数字运算数学几何周长历史物理化学二氧化碳美术音乐语言学天文学生物学植物学生态学

Win10系统下VS2019编译Qt的Ribbon控件 -- SARibbon

Win10系统下VS2019编译Qt的Ribbon控件 -- SARibbon 一、源码下载二、源码编译三、封装成库四、Qt配库五、运行测试 原文链接&#xff1a;https://blog.csdn.net/m0_51204289/article/details/126431338 一、源码下载 【1】https://gitee.com/czyt1988/SARibbon/tree/master/s…

RK35XX系列(RK3568) GT911触摸屏调试记录 添加xy镜像调换

SOC:RK3568 system:Android12 kernel:kernel-4.19 RK驱动本身就适配好TP的代码 chenjx@DESKTOP-HU3S291:~/RKAndroid12/kernel-4.19$ ls drivers/input/touchscreen/gt9xx gt9xx/ gt9xx_qcom/ gt9xx_rk/确认Makefile用的是哪一份 obj-$(CONFIG_TOUCHSCREEN_GT9XX) …

linux_信号-终端按键信号-硬件异常信号-kill函数-raise函数-abort函数

接上一篇&#xff1a;linux_信号概念、事件、状态、常见信号解释、信号屏蔽字、未决信号集 本次来继续分享信号的相关知识点&#xff0c;主要是一些常产生的信号介绍&#xff0c;以及怎么通过代码来发送信号杀死进程&#xff0c;主要是kill函数、raise函数、abort函数的调用&a…

【Mysql 学习笔记】

Mysql 笔记记录 MySQL学习笔记一、 DDL1. DDL 查询和创建数据库2. DDL 修改、删除、使用数据库3. DDL 查询数据表4. DDL 创建数据表5. DDL 修改数据表6. DDL 删除数据表 二、DML MySQL学习笔记 一、 DDL 1. DDL 查询和创建数据库 #查询所有数据库 SHOW DATABASES; #查询某个数…

组合总和III

组合总和III 题目 力扣题目链接:https://leetcode.cn/problems/combination-sum-iii/ 代码 class Solution {public:vector<vector<int