【详识JAVA语言】String类oj练习

1. 第一个只出现一次的字符

class Solution { public int firstUniqChar(String s) {int[] count = new int[256];// 统计每个字符出现的次数for(int i = 0; i < s.length(); ++i){count[s.charAt(i)]++;}// 找第一个只出现一次的字符for(int i = 0; i < s.length(); ++i){if(1 == count[s.charAt(i)]){return i;}}return -1;}}

2.最后一个单词的长度

import java.util.Scanner;public class Main{public static void main(String[] args){// 循环输入Scanner sc = new Scanner(System.in); while(sc.hasNext()){// 获取一行单词String s = sc.nextLine();// 1. 找到最后一个空格// 2. 获取最后一个单词:从最后一个空格+1位置开始,一直截取到末尾// 3. 打印最后一个单词长度int len = s.substring(s.lastIndexOf(' ')+1, s.length()).length();System.out.println(len);}sc.close();}}

3. 检测字符串是否为回文

class Solution {public static boolean isValidChar(char ch){if((ch >= 'a' && ch <= 'z') ||(ch >= '0' && ch <= '9')){return true;}return false;}public boolean isPalindrome(String s) {// 将大小写统一起来s = s.toLowerCase();int left = 0, right = s.length()-1;while(left < right){// 1. 从左侧找到一个有效的字符while(left < right && !isValidChar(s.charAt(left))){left++;}// 2. 从右侧找一个有效的字符while(left < right && !isValidChar(s.charAt(right))){right--;}if(s.charAt(left) != s.charAt(right)){return false;}else{left++;right--;}}return true;}}

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

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

相关文章

生产工厂数据中台解决方案:打造可视化平台,为工业搭建智慧大脑-亿发

制造数据中台是将企业现有的业务软件系统进行整合并打通&#xff0c;形成一套标准模块化框架&#xff0c;然后在此基础上构建一个统一的信息服务和应用平台。数据中台的建设涵盖了诸如 ERP&#xff08;供应链管理&#xff09;、MES&#xff08;制造执行管理&#xff09;、SRM&a…

激光雷达点云数据邻域特征计算理论知识学习

一、数学理论 &#xff08;一&#xff09;SVD奇异值分解&#xff08;Singular value decomposition&#xff09; 奇异值分解是线性代数中一种重要的矩阵分解&#xff0c;在信号处理、统计学等领域有重要应用。奇异值分解在某些方面与对称矩阵或埃尔米特矩阵基于特征向量的对角…

哪些型号的高速主轴适合PCB分板机

在选择适合PCB分板机的高速主轴时&#xff0c;SycoTec品牌提供了丰富的型号选择&#xff0c;主要型号包括4025 HY、4033 AC&#xff08;电动换刀&#xff09;、4033 AC-ESD、4033 DC-T和4041 HY-ESD等。 那么如何选择合适的PCB分板机高速主轴型号呢&#xff1f;在选择适合PCB分…

06. Nginx进阶-Nginx代理服务

proxy代理功能 正向代理 什么是正向代理&#xff1f; 正向代理&#xff08;forward proxy&#xff09;&#xff0c;一个位于客户端和原始服务器之间的服务器。 工作原理 为了从原始服务器获取内容&#xff0c;客户端向代理发送一个请求并指定目标&#xff08;即原始服务器…

VS Code插件之Rainbow Fart,一边写代码妹子一边叫

1、下载Rainbow Fart 2、安装完成后打开这个插件 点击菜单中的“查看”——>命令面板 3、点击授权

数据可视化原理-腾讯-3D热力图

在做数据分析类的产品功能设计时&#xff0c;经常用到可视化方式&#xff0c;挖掘数据价值&#xff0c;表达数据的内在规律与特征展示给客户。 可是作为一个产品经理&#xff0c;&#xff08;1&#xff09;如果不能够掌握各类可视化图形的含义&#xff0c;就不知道哪类数据该用…

Ubantu 18.04 配置固定IP

1.首先在终端里输入命令,将你的网关和ip&#xff0c;记下来 ifconfig 2. 执行命令&#xff1a; sudo gedit /etc/network/interfaces 3.在弹出来的框里输入 auto后面的就是网关&#xff0c;address是你虚拟机的ip&#xff0c;gateway是你的网关ip&#xff0c;netmask是你的子…

TensorRT入门:trtexec开发辅助工具的使用

文章目录 一、trtexec简介二、trtexec使用1.trtexec常用参数1. 构建阶段2. 运行阶段 2.基本使用方法1. trtexec最基本的使用方法&#xff0c;读取onnx模型并通过trtexec测试推理性能。2. trtexec解析ONNX文件&#xff0c;使用优化选择构建TensorRT引擎并保存至.plan文件补充&am…

Upsert api写s3的流程源码分析

Upsert api写s3的流程 milvus版本:v2.3.2 实现:先insert再delete&#xff0c;并限制不能修改主键列。 整体架构: Upsert 的数据流向 upsert写入s3的流程 upsert先insert&#xff0c;再delete。从proxy的execute()方法可以看出。 func (it *upsertTask) Execute(ctx contex…

Spring Cloud Alibaba一一SentinelResource

SentinelResource 在定义了资源点之后&#xff0c;我们可以通过Dashboard控制台页面来设置限流和降级策略来对资源点进行保护。同时还能通过[**SentinelResource**](/SentinelResource)****注解来制定出现异常时的处理策略 1、属性说明 value 资源名称、必须项、因为需要通过…

基于遗传优化的协同过滤推荐算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 最后得到推荐的商品ID号&#xff1a; 推荐商品的ID号&#xff1a;ans 9838175822191114902149021235224732230712349911790154716550165501655011…

快速上手:在 Android 设备上运行 Pipy

Pipy 作为一个高性能、低资源消耗的可编程代理&#xff0c;通过支持多种计算架构和操作系统&#xff0c;Pipy 确保了它的通用性和灵活性&#xff0c;能够适应不同的部署环境&#xff0c;包括但不限于云环境、边缘计算以及物联网场景。它能够在 X86、ARM64、海光、龙芯、RISC-V …