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

算法通关村第十二关|青铜|字符串转换整数

1.转换成小写字母

原题:力扣709.

字符串大写转小写有现成的API使用,但是我们也可以自己来实现。

使用或运算进行加操作能提高效率,因为 32 对应的二进制表示为 00100000 ,而大写字母的范围 [65, 90] 的二进制表示在 00100000 的为 1 的位置均为 0 ,所以直接或操作就可以实现和加 32 一样的效果。

class Solution {public String toLowerCase(String s) {StringBuilder sb = new StringBuilder();for (int i = 0; i < s.length(); i++) {char ch = s.charAt(i);if (ch >= 65 && ch <= 90) {ch |= 32;}sb.append(ch);}return sb.toString();}
}

2.字符串转换整数(atoi)

原题:力扣8.

用 index 遍历字符串数组。

public int myAtoi(String str) {int len = str.length();char[] charArray = str.toCharArray();int index = 0;while (index < len && charArray[index] = ' ') {index++;}if (index == len) {return 0;}int sign = 1;char firstChar = charArray[index];if (firstChar == '+') {index++;} else if (firstChar == '-') {index++;sign = -1;}int res = 0;while (index < len) {char currChar = charArray[index];if (currChar > '9' || currChar < '0') {break;}// 处理溢出情况if (res > Integer.MAX_VALUE / 10 || (res == Integer.MAX_VALUE / 10 && (currChar - '0') > Integer.MAX_VALUE % 10)) {return Integer.MAX_VALUE;}if (res < Integer.MIN_VALUE / 10 || (res == Integer.MIN_VALUE / 10 && (currChar - '0') > -(Integer.MIN_VALUE % 10))) {return Integet.MIN_VALUE;}// 为了便于处理溢出情况,每次给 res 赋值都带 sign ,保证 res 的正负性res = res * 10 + sign * (currChar - '0');index++;}return res;
}

如果对您有帮助,请点赞关注支持我,谢谢!❤
如有错误或者不足之处,敬请指正!❤
个人主页:星不易 ❤
算法通关村专栏:不易|算法通关村 ❤

相关文章:

算法通关村第十二关|青铜|字符串转换整数

1.转换成小写字母 原题&#xff1a;力扣709. 字符串大写转小写有现成的API使用&#xff0c;但是我们也可以自己来实现。 使用或运算进行加操作能提高效率&#xff0c;因为 32 对应的二进制表示为 00100000 &#xff0c;而大写字母的范围 [65, 90] 的二进制表示在 00100000 的…...

CSS实现空心的“尖角”

大家好&#xff0c;我是南宫&#xff0c;来分享一个昨天解决的问题。 我记得之前刷面试题的时候&#xff0c;CSS面试题里面赫然有一题是“如何用CSS实现三角形”&#xff0c;我觉得这个问题确实很经典&#xff0c;我上的前端培训班当初就讲过。 大概思路如下&#xff1a; 先…...

算法 全排列的应用

#include <iostream> #include <string>using namespace std;// 交换字符串中两个字符的位置 void swap(char& a, char& b) {char temp a;a b;b temp; }void fun(string str) {string a str.substr(0,4); int aa;sscanf(a.c_str(), "%d",…...

环境配置|GitHub——如何在github上搭建自己写的网站

下面简单地总结了从本地的网页文件到在github服务器上展示出来即可以通过网络端打开的过程&#xff1a; &#xff08;以下可能会出现一些难点&#xff0c;照着做就可以了&#xff0c;由于笔者是小白&#xff0c;也不清楚具体原理是什么&#xff0c;希望有一天成为大神的时候能轻…...

Windows系统中curl和wget命令下载说明

前言 当需要在命令行中发送 HTTP 请求时&#xff0c;常用的工具有 curl 和 wget。它们可以帮助你下载文件&#xff0c;发送 POST 或 GET 请求&#xff0c;以及检查网页内容等。 curl: curl 是一个功能强大的命令行工具&#xff0c;支持多种协议&#xff08;例如 HTTP、HTTPS、…...

山西电力市场日前价格预测【2023-11-24】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-11-24&#xff09;山西电力市场全天平均日前电价为415.13元/MWh。其中&#xff0c;最高日前电价为685.26元/MWh&#xff0c;预计出现在18:00。最低日前电价为296.84元/MWh&#xff0c;预计…...

说说你对 shell 的理解以及常见的命令?

面试官&#xff1a;说说你对 shell 的理解&#xff1f;常见的命令&#xff1f; 一、是什么 Shell 是一个由c语言编写的应用程序&#xff0c;它是用户使用 Linux 的桥梁。Shell 既是一种命令语言&#xff0c;又是一种程序设计语言 它连接了用户和Linux内核&#xff0c;让用户能…...

数据结构之双向带头循环链表函数功能实现与详细解析

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力&#xff0c;一起奔赴大厂。 目录 1.前言 2.带头双…...

SpringBoot_websocket实战

SpringBoot_websocket实战 前言1.websocket入门1.1 websocket最小化配置1.1.1 后端配置1.1.2 前端配置 1.2 websocket使用sockjs1.2.1 后端配置1.2.2 前端配置 1.3 websocket使用stomp协议1.3.1 后端配置1.3.2 前端配置 2.websocket进阶2.1 websocket与stomp有什么区别2.2 webs…...

香港科技大学广州|机器人与自主系统学域博士招生宣讲会—同济大学专场!!!(暨全额奖学金政策)

在机器人和自主系统领域实现全球卓越—机器人与自主系统学域 硬核科研实验室&#xff0c;浓厚创新产学研氛围&#xff01; 教授亲临现场&#xff0c;面对面答疑解惑助攻申请&#xff01; 一经录取&#xff0c;享全额奖学金1.5万/月&#xff01; &#x1f559;时间&#xff1a;…...

python基于GCN(图卷积神经网络模型)和LSTM(长短期记忆神经网络模型)开发构建污染物时间序列预测模型

在以往的时间序列预测建模中广泛使用的是回归类算法模型和RNN类的算法模型&#xff0c;相对来说技术栈会更稳定一些&#xff0c;最近有一个实际业务场景的需求&#xff0c;在建模的过程中要综合考虑其余点位的影响依赖&#xff0c;这时候我想到了之前做过的交通流量和速度预测相…...

SpringMVC问题

文章目录 SpringMVC运行流程MVC的概念与请求在MVC中的执行路径&#xff0c;ResponsBody注解的用途SpringMVC启动流程 SpringMVC运行流程 • 客户端&#xff08;浏览器&#xff09;发送请求&#xff0c;直接请求到 DispatcherServlet 。 • DispatcherServlet 根据请求信息调用 …...

【Linux】Linux的常用基本指令

Linux常用基本指令 Linux指令的历史背景前言说明一、 ls 列出文件中的所有内容常用选项 二、pwd 显示当前所在目录进程三、cd 将当前工作目录改变到指定的目录下常用样例 四、touch 1. 更改文档或目录的日期时间 2. 新建一个不存在的文件常用选项 四、mkdir 1. 更改文档或目录的…...

气候变化和人类活动对中国植被固碳的贡献量化数据月度合成产品

简介&#xff1a; 气候变化和人类活动对中国植被固碳的贡献量化数据月度合成产品包括中国2001~2018年地表短波波段反照率、植被光合有效辐射吸收比、叶面积指数、森林覆盖度和非森林植被覆盖度、地表温度、地表净辐射、地表蒸散发、地上部分自养呼吸、地下部分自养呼吸、总初级…...

定位鼠标悬浮才出现的元素

第一步&#xff1a;按F12进入开发者模式 第二步&#xff1a;点击Sources. 第三步&#xff1a;鼠标进入&#xff0c;触发悬浮框弹出&#xff0c;然后鼠标停止不要移动。 第四步&#xff1a;按F8 或者&#xff08;Ctrl\&#xff09;&#xff0c;正常情况下&#xff0c;此时页…...

【css/vue】使用css变量,在同一个页面根据不同情况改变字号等样式

解决方法是&#xff1a;将 css 的属性使用 v-bind 与 Vue 组件的属性绑定&#xff0c;当组件的属性变化时&#xff0c;css 对应的属性值也就会随之变化&#xff1b; 具体实现代码&#xff1a; <template><div><span class"navTitle">标题名</s…...

在springboot中实现WebSocket协议通信

前面介绍了使用netty实现websocket通信&#xff0c;有些时候&#xff0c;如果我们的服务并不复杂或者连接数并不高&#xff0c;单独搭建一个websocket服务端有些浪费资源&#xff0c;这时候我们就可以在web服务内提供简单的websocket连接支持。其实springboot已经支持了websock…...

云原生Docker系列 | Docker私有镜像仓库公有镜像仓库使用

云原生Docker系列 | Docker私有镜像仓库&公有镜像仓库使用 1. 使用公有云镜像仓库1.1. 阿里云镜像仓库1.2. 华为云镜像仓库1.3. 腾讯云镜像仓库2. 使用Docker Hub镜像仓库3. 使用Harbor构建私有镜像仓库4. 搭建本地Registry镜像仓库1. 使用公有云镜像仓库 1.1. 阿里云镜像…...

用于 syslog 收集的协议:TCP、UDP、RELP

系统日志是从 Linux/Unix 设备和其他网络设备&#xff08;如交换机、路由器和防火墙&#xff09;生成的日志 可以通过将 syslog 聚合到称为 syslog 服务器、syslog 守护程序或 syslogd 的服务器来集中 syslog。在TCP、UDP和RELP协议的帮助下&#xff0c;系统日志从设备传输到系…...

OpenAI创始人山姆·阿尔特曼重返公司;LLM持续学习

&#x1f989; AI新闻 &#x1f680; OpenAI创始人山姆阿尔特曼重返公司并与微软建立合作伙伴关系 摘要&#xff1a;OpenAI创始人山姆阿尔特曼回归OpenAI&#xff0c;担任首席执行官&#xff0c;并与微软建立牢固的合作伙伴关系。这解决了近期的争论&#xff0c;微软对OpenAI…...

告别折腾!Mac上MySQL 5.7、8.0多版本共存与管理教程(基于Homebrew Services)

Mac开发者必备&#xff1a;用Homebrew Services实现MySQL多版本无缝管理 在开发者的日常工作中&#xff0c;经常需要同时维护多个项目&#xff0c;而这些项目可能依赖不同版本的MySQL数据库。传统做法是频繁卸载重装&#xff0c;或者通过Docker等方案解决&#xff0c;但这些方…...

魔兽争霸3终极优化指南:免费开源工具让你的经典游戏焕发新生

魔兽争霸3终极优化指南&#xff1a;免费开源工具让你的经典游戏焕发新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为《魔兽争霸3》的卡顿、…...

从GroundingDino推理到Open-GroundingDino训练:我的环境配置与验证集精度为0的踩坑实录

从推理到训练&#xff1a;Open-GroundingDino实战中的环境配置与验证集精度问题深度解析 当我在深夜第三次尝试启动Open-GroundingDino训练脚本时&#xff0c;终端上闪烁的"validation AP: 0.000"让我陷入了沉思。这不是一个简单的环境配置问题&#xff0c;而是一系…...

暗黑破坏神2存档修改器终极指南:3步打造完美角色

暗黑破坏神2存档修改器终极指南&#xff1a;3步打造完美角色 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit Diablo Edit2是一款功能强大的暗黑破坏神2存档修改工具&#xff0c;这款开源免费的存档…...

GDPR+等保2.0双压之下,医疗PHP脱敏算法必须重构的7个信号,你中了几个?

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;GDPR与等保2.0双合规框架下的医疗数据脱敏新范式 在跨境医疗协作与多中心临床研究日益频繁的背景下&#xff0c;同时满足欧盟《通用数据保护条例》&#xff08;GDPR&#xff09;的“数据最小化”原则与…...

扶摇速记:可以想像,可以意会,可以言传

英文字母都是象形字符&#xff0c;其构词&#xff08;单词构造&#xff09;有一个重要的法则&#xff0c;就是首字母象形&#xff0c;通常英语中的单纯词和词根的构造都遵循这一法则&#xff0c;因此&#xff0c;英语单词&#xff0c;某种程度上讲&#xff0c;都是具有象形基础…...

终极SQL血缘分析工具:sqllineage让数据流向一目了然

终极SQL血缘分析工具&#xff1a;sqllineage让数据流向一目了然 【免费下载链接】sqllineage SQL Lineage Analysis Tool powered by Python 项目地址: https://gitcode.com/gh_mirrors/sq/sqllineage 你是否曾在复杂的ETL管道中迷失方向&#xff0c;不知道某个数据字段…...

达梦DCA认证通关后,我总结的这12个高频考点操作命令(附脚本)

达梦DCA认证通关秘籍&#xff1a;12个高频考点命令与实战脚本全解析 1. 环境准备与基础配置 备考达梦DCA认证的第一步是确保环境配置正确。考试环境通常基于麒麟10操作系统&#xff0c;通过VNC远程连接操作。以下是关键的环境准备步骤&#xff1a;创建专用用户 考试要求创建dmd…...

Navicat无限试用完整解决方案:三步彻底解决macOS版14天限制

Navicat无限试用完整解决方案&#xff1a;三步彻底解决macOS版14天限制 【免费下载链接】navicat_reset_mac navicat mac版无限重置试用期脚本 Navicat Mac Version Unlimited Trial Reset Script 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac 还在为…...

专业窗口调整工具:重新掌控你的Windows桌面布局

专业窗口调整工具&#xff1a;重新掌控你的Windows桌面布局 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer WindowResizer是一款基于C和MFC开发的免费开源工具&#xff0c;专门用于…...