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

【java】不要二、把字符串转成整数

目录

🔥一、编程题

1.不要二

2.把字符串转换成整数


🔥一、编程题

1.不要二

链接:不要二_牛客题霸_牛客网 (nowcoder.com)

描述:二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。
对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:
( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根
小易想知道最多可以放多少块蛋糕在网格盒子里。

输入描述:每组数组包含网格长宽W,H,用空格分割.(1 ≤ W、H ≤ 1000)

输出描述:输出一个最多可以放的蛋糕数

示例1

输入:3   2

输出:4

🔎做题思路:这里题目有一点问题——网格的行编号为0~W-1,网格的列编号为0~H-1

题目要求:任意两块蛋糕的欧几里距离不等于2

也就是说如果[i][j]位置放了蛋糕,那么[i+2][j]和[i][j+2]位置就不可以放蛋糕 这里要防止[i+2]和[j+2]越界

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int w = scanner.nextInt();//行int h = scanner.nextInt();//列int count = 0;int[][] array = new int[w][h];//定义二维数组,相当于表格for (int i = 0; i < w; i++) {for (int j = 0; j < h; j++) {if (array[i][j] == 0) {//这个框可以放蛋糕count++;//计数器+1//[i+2][j]和[i][j+2]位置就不可以放蛋糕,这里要防止[i+2]和[j+2]越界if (i+2 < w) {//防越界array[i+2][j] = 1;}if (j+2 < h) {//防越界array[i][j+2] = 1;}}}}System.out.println(count);}
}

2.把字符串转换成整数

链接:把字符串转换成整数__牛客网 (nowcoder.com)

将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为 0 或者字符串不是一个合法的数值则返回 0

数据范围:字符串长度满足  0≤n≤100 
进阶:空间复杂度 O(1)  ,时间复杂度 O(n) 

注意:

①字符串中可能出现任意符号,出现除 +/- 以外符号时直接输出 0

②字符串中可能出现 +/- 且仅可能出现在字符串首位。

 

输入描述:输入一个字符串,包括数字字母符号,可以为空

 

输出描述:如果是合法的数值表达则返回该数字,否则返回0

示例1

输入:"+2147483647"

输出:2147483647

🔎做题思路:

公式:sum = sum * 10 + str[i] - '0'

1️⃣如果是纯纯数字,则使用公式:sum = sum * 10 + str[i] - '0'

2️⃣如果是不合法数值(不包括‘+’‘-’),则返回0

3️⃣如果第一个字符为“+”或者“-”,那么需要定义一个 flg,如果是负号,则flg=-1;如果是正号,则flg=1

❗❗❗注意:“+”或者“-”也是不合法的,这时候就需要把“+”或者“-”除外:如果是“+”或者“-”,则把第一个字符置为0

但是,字符串是不可以修改的:将字符串转化为数组来进行编写代码

    public int StrToInt(String str) {//转化为数组,因为字符串不可以修改char[] ch = str.toCharArray();if (ch == null || ch.length == 0) {//为空return 0;}int flg = 1;//首先不管符号,用flg来表示正负号,乘在最后的结果中if (ch[0] == '-') {//如果为负,取-1flg = -1;//如果第一个字符为“-”,那么将这个符号置为0,不然用影响后边从0下标开始循环判断是否合法,因为符号也在0-9之外ch[0] = '0';//在这里,str.charAt(0) = '0';不可取,因为字符串不可以修改} else if (ch[0] == '+') {//如果为正,取1flg = 1;//同理ch[0] = '0';}int sum = 0;for (int i = 0; i < ch.length; i++) {if (ch[i] < '0' || ch[i] > '9') {//不合法,直接结束sum = 0;//不合法,把sum置为0,不然就返回不合法之前的数break;}sum = sum * 10 + ch[i] - '0';}return flg*sum;//最后把符号加上}

相关文章:

【java】不要二、把字符串转成整数

目录 &#x1f525;一、编程题 1.不要二 2.把字符串转换成整数 &#x1f525;一、编程题 1.不要二 链接&#xff1a;不要二_牛客题霸_牛客网 (nowcoder.com) 描述&#xff1a;二货小易有一个W*H的网格盒子&#xff0c;网格的行编号为0~H-1&#xff0c;网格的列编号为0~W-1…...

数据的质量管控工作

数据的质量管控工作&#xff0c;整个工作应该围绕启动阶段制定的目标进行。适当引入一些质量管控工具可帮助我们更高效的完成工作。 第一步、数据剖析 首先应该进行已知数据问题的评估&#xff0c;这里评估的范围也应控制本轮管控的目标范围内。其次&#xff0c;通过对数据进行…...

【SpringBoot笔记29】SpringBoot集成RabbitMQ消息队列

这篇文章,主要介绍SpringBoot如何集成RabbitMQ消息队列。 目录 一、集成RabbitMQ 1.1、引入amqp依赖 1.2、添加连接信息 1.3、添加RabbitMQ配置类...

前端架构师-week2-脚手架架构设计和框架搭建

将收获什么 脚手架的实现原理 Lerna的常见用法 架构设计技巧和架构图绘制方法 主要内容 学习如何以架构师的角度思考基础架构问题 多 Package 项目管理痛点和解决方案&#xff0c;基于 Lerna 脚手架框架搭建 imooc-cli 脚手架需求分析和架构设计&#xff0c;架构设计图 附赠内…...

CMake项目实战指令详细分析

CMake是一个跨平台的自动化构建系统&#xff0c;可以用简单的语句来描述所有平台的编译过程。CMake可以输出各种各样的编译文件&#xff0c;如Makefile、VisualStudio等。 CMake主要是编写CMakeLists.txt文件&#xff0c;然后用cmake命令将CMakeLists.txt文件转化为make所需要的…...

【深度学习】——LSTM参数设置

批大小设置 LSTM的批大小可以根据训练数据集的大小和计算资源的限制来确定。一般而言&#xff0c;批大小越大&#xff0c;训练速度越快&#xff0c;但可能会导致过拟合和内存限制。批大小越小&#xff0c;训练速度越慢&#xff0c;但对于较大的数据集和内存限制较严格的情况下…...

计算机网络高频60问 背完差不多了!!

计算机网络高频60问 网络分层结构 计算机网络体系大致分为三种&#xff0c;OSI七层模型、TCP/IP四层模型和五层模型。一般面试的时候考察比较多的是五层模型。 五层模型&#xff1a;应用层、传输层、网络层、数据链路层、物理层。 应用层&#xff1a;为应用程序提供交互服务…...

路由策略小实验

实验要求&#xff1a; 1、R1环回使用重发布&#xff0c;R2和R3使用双向重发布 2、使用路由策略解决&#xff0c;选路不佳 第一步&#xff0c;基础配置 [R1]int l0 [R1-LoopBack0]ip add 1.1.1.1 24 [R1-LoopBack0]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 192.168.12.1 …...

C语言realloc背后的内存管理

malloc申请内存&#xff0c;但不初始化。 calloc申请内存&#xff0c;且初始化为0。 free释放内存。 realloc重新分配已经分配的内存空间&#xff0c;可以变小&#xff0c;也可以变大。 以前一直有一个疑问&#xff0c;realloc是不是经常失败&#xff1f; 其实&#xff0c;rea…...

GPT可以被放任的在问答区应用吗?

GPT可以被放任的在问答区应用吗&#xff1f;1、CSDN问答乱象2、GPT-4&#xff0c;大增长时代的序幕数字生命离我们到底还有多远&#xff1f;AI 家教/老师/教育 距离独立又有哪些需要完成的过程&#xff1f;3、老顾对CSDN问答的一些看法老顾对GPT使用者的一些建议1、CSDN问答乱象…...

限制网络接口的一些简介(一)

大家在上网的时候&#xff0c;我们设置了www&#xff0c;当有来自internet的www要求时&#xff0c;我们的主机就会予以响应。这是因为你的主机已经开启了www的监听端口。所以&#xff0c;当我们启用一个daemon时&#xff0c;就可能触发主机的端口进行监听的动作&#xff0c;此时…...

ChatGPT如何批量撰写最新的热点自媒体文章

如何用ChatGPT创作高质量的自媒体文章 自媒体已成为互联网上的一个重要组成部分&#xff0c;无论您是想在社交媒体、博客中发布内容&#xff0c;高质量的文章都是自媒体成功的重要组成部分。ChatGPT是一个智能文章生成器&#xff0c;能够帮助创作者快速、高效地生成高质量的自…...

GPT4和ChatGPT的区别,太让人震撼

文 | Serendipity知乎 前言 GPT4上午朋友圈已经刷屏啦&#xff0c;不过我还在忙&#xff0c;刚刚才登上 GPT-4 &#xff0c;现在来体验一下~ 附 GPT-4 能力测试站&#xff08;无需魔法&#xff0c;仅供国内研究测试&#xff09;&#xff1a; https://gpt4test.com 附 Cha…...

redis实战---分布式锁--单机篇

redis分布式锁故事背景什么是Redis分布式锁业务场景未加任何锁的代码单机情况下JVM级别加锁多服务部署总结提升故事背景 本篇文章是redis实战系列的第二篇文章。本章的主要内容是Redis分布式锁的相关知识。本篇文章将告诉你什么是分布式锁&#xff0c;结合一个业务场景&#x…...

Java正则表达式

Java 正则表达式 文章目录Java 正则表达式捕获组正则表达式语法Matcher 类的方法索引方法查找方法替换方法start 和 end 方法matches 和 lookingAt 方法replaceFirst 和 replaceAll 方法appendReplacement 和 appendTail 方法PatternSyntaxException 类的方法正则表达式是对字符…...

MySQL数据库之——高级[进阶]SQL语句(二)正则表达式和存储过程

文章目录一、正则表达式&#xff08;REGEXP&#xff09;1、正则表达式匹配符2、语法二、存储过程1、概述2、优点3、 创建、调用、查看和删除存储过程4、存储过程的控制语句一、正则表达式&#xff08;REGEXP&#xff09; 1、正则表达式匹配符 2、语法 SELECT 选项 FROM 表名 …...

Python基于周立功盒子的二次开发的准备工作

Python基于周立功盒子的二次开发的准备工作 一、基本介绍     基于周立功的二次开发是python通过调用zlgcan.dll,来实现CAN卡的通讯收发报文的,在python中通过ctypes模块调用c++动态库的接口函数(zlgcan.dll),我们需要根据我的电脑选择相对应版本的dll,比如64位的操…...

2023年PMP考生|考前必练全真模拟题分享,附答案解析

“日日行&#xff0c;不怕千万里&#xff1b;常常做&#xff0c;不怕千万事。”每日五题&#xff0c;备考无压力&#xff01; 1、敏捷项目以价值为驱动交付&#xff0c;确定好所有待办事项的价值进而去制造可交付成果。那么在整个敏捷项目周期中&#xff0c;衡量团队交付的可交…...

Python入门教程+项目实战-7.1节: 条件控制结构

目录 7.1.1 理解条件控制 7.1.2 if,elif,else 7.1.3 条件表达式 7.1.4 条件控制可以嵌套 7.1.5 if语句的三元运算 7.1.6 系统学习python 7.1.1 理解条件控制 在日常生活中&#xff0c;我们常喜欢说如果, "如果怎么样&#xff0c;那么就会怎么样"。"如果&…...

【机器学习】P4 特征缩放与学习率

这里写自定义目录标题特征缩放标准化归一化平均值归一化收敛学习率特征缩放 特征缩放&#xff08;Feature scaling&#xff09;是一种数据预处理技术&#xff0c;它用于将不同尺度的特征值缩放到相同的范围内&#xff0c;以便更好地应用于机器学习算法中。在不进行特征缩放的情…...

Windows Cleaner实战指南:解决C盘空间不足和电脑卡顿的5个高效策略

Windows Cleaner实战指南&#xff1a;解决C盘空间不足和电脑卡顿的5个高效策略 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner Windows Cleaner是一款专为Windows…...

OpenClaw技能组合实战:Phi-3-vision-128k实现完整会议纪要自动化

OpenClaw技能组合实战&#xff1a;Phi-3-vision-128k实现完整会议纪要自动化 1. 为什么需要会议纪要自动化 作为经常参加跨时区会议的开发者&#xff0c;我长期被会议纪要整理工作困扰。传统流程需要手动录音转文字、整理白板照片、提取行动项&#xff0c;最后还要同步到日历…...

StructBERT语义分析工具实测:一键判断句子相似度,支持GPU加速

StructBERT语义分析工具实测&#xff1a;一键判断句子相似度&#xff0c;支持GPU加速 1. 工具核心价值 StructBERT语义分析工具是一款专为中文文本设计的本地化语义相似度计算解决方案。不同于传统的关键词匹配方法&#xff0c;该工具基于阿里巴巴开源的StructBERT-Large模型…...

MarkEdit 文本编码处理技术深度解析

MarkEdit 文本编码处理技术深度解析 【免费下载链接】MarkEdit Just like TextEdit on Mac but dedicated to Markdown. 项目地址: https://gitcode.com/gh_mirrors/ma/MarkEdit MarkEdit 是一款专为 Markdown 设计的文本编辑器&#xff0c;如同 Mac 上的 TextEdit 但专…...

ChatGPT+RMBG-2.0:智能图像处理工作流自动化

ChatGPTRMBG-2.0&#xff1a;智能图像处理工作流自动化 1. 当你还在手动抠图时&#xff0c;有人已经用一句话完成整套流程 上周帮朋友处理一批电商产品图&#xff0c;他花了整整两天时间在Photoshop里一张张抠背景、调边缘、换底色。最后发来消息说&#xff1a;“要是能对着图…...

Kandinsky-5.0-I2V-Lite-5s实际作品展示:黄昏女孩转头推进镜头高清视频集

Kandinsky-5.0-I2V-Lite-5s实际作品展示&#xff1a;黄昏女孩转头推进镜头高清视频集 1. 惊艳效果开场 Kandinsky-5.0-I2V-Lite-5s带来的动态视觉体验令人惊叹。想象一下&#xff1a;一张静态的黄昏人像照片&#xff0c;在短短几秒内变成了一段生动的短视频——女孩缓缓转头&…...

Java集合判空全攻略:从原生方法到Apache Commons工具类对比

Java集合判空全攻略&#xff1a;从原生方法到Apache Commons工具类对比 在Java开发中&#xff0c;集合判空是最基础却又最容易出错的环节之一。一个看似简单的判空操作&#xff0c;背后可能隐藏着NPE风险、性能损耗甚至逻辑漏洞。本文将深入剖析Java原生判空方法与Apache Commo…...

AI辅助开发:描述需求,快马AI自动生成旅行商问题算法与可视化

最近在做一个旅行商问题(TSP)的算法项目&#xff0c;想试试用AI辅助开发能有多高效。结果发现InsCode(快马)平台的AI功能真的帮了大忙&#xff0c;整个过程特别顺畅。这里分享一下我的体验。 需求分析阶段 刚开始我只是简单描述了需求&#xff1a;"需要一个用模拟退火算…...

AutoDL上传大文件夹实操教程|避坑指南(解决中文路径、端口报错等高频问题)

前言&#xff1a;做深度学习、大模型部署的同学&#xff0c;大概率会用到AutoDL云GPU&#xff08;性价比高、配置灵活&#xff0c;尤其适合毕设、小项目实操&#xff09;。但很多新手在上传本地大文件夹&#xff08;比如包含模型脚本、数据集、配置文件的项目文件夹&#xff09…...

Visual C++组件维护完全指南:从问题诊断到系统优化

Visual C组件维护完全指南&#xff1a;从问题诊断到系统优化 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist Visual C组件维护是Windows系统稳定运行的关键环节&…...