【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】不要二、把字符串转成整数
目录 🔥一、编程题 1.不要二 2.把字符串转换成整数 🔥一、编程题 1.不要二 链接:不要二_牛客题霸_牛客网 (nowcoder.com) 描述:二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1…...
数据的质量管控工作
数据的质量管控工作,整个工作应该围绕启动阶段制定的目标进行。适当引入一些质量管控工具可帮助我们更高效的完成工作。 第一步、数据剖析 首先应该进行已知数据问题的评估,这里评估的范围也应控制本轮管控的目标范围内。其次,通过对数据进行…...
【SpringBoot笔记29】SpringBoot集成RabbitMQ消息队列
这篇文章,主要介绍SpringBoot如何集成RabbitMQ消息队列。 目录 一、集成RabbitMQ 1.1、引入amqp依赖 1.2、添加连接信息 1.3、添加RabbitMQ配置类...
前端架构师-week2-脚手架架构设计和框架搭建
将收获什么 脚手架的实现原理 Lerna的常见用法 架构设计技巧和架构图绘制方法 主要内容 学习如何以架构师的角度思考基础架构问题 多 Package 项目管理痛点和解决方案,基于 Lerna 脚手架框架搭建 imooc-cli 脚手架需求分析和架构设计,架构设计图 附赠内…...
CMake项目实战指令详细分析
CMake是一个跨平台的自动化构建系统,可以用简单的语句来描述所有平台的编译过程。CMake可以输出各种各样的编译文件,如Makefile、VisualStudio等。 CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的…...
【深度学习】——LSTM参数设置
批大小设置 LSTM的批大小可以根据训练数据集的大小和计算资源的限制来确定。一般而言,批大小越大,训练速度越快,但可能会导致过拟合和内存限制。批大小越小,训练速度越慢,但对于较大的数据集和内存限制较严格的情况下…...
计算机网络高频60问 背完差不多了!!
计算机网络高频60问 网络分层结构 计算机网络体系大致分为三种,OSI七层模型、TCP/IP四层模型和五层模型。一般面试的时候考察比较多的是五层模型。 五层模型:应用层、传输层、网络层、数据链路层、物理层。 应用层:为应用程序提供交互服务…...
路由策略小实验
实验要求: 1、R1环回使用重发布,R2和R3使用双向重发布 2、使用路由策略解决,选路不佳 第一步,基础配置 [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申请内存,但不初始化。 calloc申请内存,且初始化为0。 free释放内存。 realloc重新分配已经分配的内存空间,可以变小,也可以变大。 以前一直有一个疑问,realloc是不是经常失败? 其实,rea…...
GPT可以被放任的在问答区应用吗?
GPT可以被放任的在问答区应用吗?1、CSDN问答乱象2、GPT-4,大增长时代的序幕数字生命离我们到底还有多远?AI 家教/老师/教育 距离独立又有哪些需要完成的过程?3、老顾对CSDN问答的一些看法老顾对GPT使用者的一些建议1、CSDN问答乱象…...
限制网络接口的一些简介(一)
大家在上网的时候,我们设置了www,当有来自internet的www要求时,我们的主机就会予以响应。这是因为你的主机已经开启了www的监听端口。所以,当我们启用一个daemon时,就可能触发主机的端口进行监听的动作,此时…...
ChatGPT如何批量撰写最新的热点自媒体文章
如何用ChatGPT创作高质量的自媒体文章 自媒体已成为互联网上的一个重要组成部分,无论您是想在社交媒体、博客中发布内容,高质量的文章都是自媒体成功的重要组成部分。ChatGPT是一个智能文章生成器,能够帮助创作者快速、高效地生成高质量的自…...
GPT4和ChatGPT的区别,太让人震撼
文 | Serendipity知乎 前言 GPT4上午朋友圈已经刷屏啦,不过我还在忙,刚刚才登上 GPT-4 ,现在来体验一下~ 附 GPT-4 能力测试站(无需魔法,仅供国内研究测试): https://gpt4test.com 附 Cha…...
redis实战---分布式锁--单机篇
redis分布式锁故事背景什么是Redis分布式锁业务场景未加任何锁的代码单机情况下JVM级别加锁多服务部署总结提升故事背景 本篇文章是redis实战系列的第二篇文章。本章的主要内容是Redis分布式锁的相关知识。本篇文章将告诉你什么是分布式锁,结合一个业务场景&#x…...
Java正则表达式
Java 正则表达式 文章目录Java 正则表达式捕获组正则表达式语法Matcher 类的方法索引方法查找方法替换方法start 和 end 方法matches 和 lookingAt 方法replaceFirst 和 replaceAll 方法appendReplacement 和 appendTail 方法PatternSyntaxException 类的方法正则表达式是对字符…...
MySQL数据库之——高级[进阶]SQL语句(二)正则表达式和存储过程
文章目录一、正则表达式(REGEXP)1、正则表达式匹配符2、语法二、存储过程1、概述2、优点3、 创建、调用、查看和删除存储过程4、存储过程的控制语句一、正则表达式(REGEXP) 1、正则表达式匹配符 2、语法 SELECT 选项 FROM 表名 …...
Python基于周立功盒子的二次开发的准备工作
Python基于周立功盒子的二次开发的准备工作 一、基本介绍 基于周立功的二次开发是python通过调用zlgcan.dll,来实现CAN卡的通讯收发报文的,在python中通过ctypes模块调用c++动态库的接口函数(zlgcan.dll),我们需要根据我的电脑选择相对应版本的dll,比如64位的操…...
2023年PMP考生|考前必练全真模拟题分享,附答案解析
“日日行,不怕千万里;常常做,不怕千万事。”每日五题,备考无压力! 1、敏捷项目以价值为驱动交付,确定好所有待办事项的价值进而去制造可交付成果。那么在整个敏捷项目周期中,衡量团队交付的可交…...
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 理解条件控制 在日常生活中,我们常喜欢说如果, "如果怎么样,那么就会怎么样"。"如果&…...
【机器学习】P4 特征缩放与学习率
这里写自定义目录标题特征缩放标准化归一化平均值归一化收敛学习率特征缩放 特征缩放(Feature scaling)是一种数据预处理技术,它用于将不同尺度的特征值缩放到相同的范围内,以便更好地应用于机器学习算法中。在不进行特征缩放的情…...
Harnessclaw:轻量级自动化工作流编排工具,告别脚本泥潭
1. 项目概述:一个被低估的自动化利器如果你经常在GitHub上寻找一些能解决实际问题的工具,可能会发现一个现象:很多名字看起来平平无奇、甚至有点“怪”的项目,往往藏着巨大的潜力。harnessclaw/harnessclaw就是这样一个典型的例子…...
AI写教材大揭秘:如何利用AI工具实现低查重教材创作?
谁没有遇到过编写教材框架的困扰? 谁没有遇到过编写教材框架的困扰?面对一个空白的文档,发呆半个小时,都不知道该如何开始——先讲基础概念还是直接给出案例?章节划分是依照逻辑走,还是依据课时安排&#…...
NotebookLM文献管理到底靠不靠谱?——基于372篇实证论文的引用准确率压力测试报告
更多请点击: https://intelliparadigm.com 第一章:NotebookLM文献管理到底靠不靠谱?——基于372篇实证论文的引用准确率压力测试报告 为验证Google NotebookLM在学术场景下的引用可靠性,我们对372篇跨学科实证论文(含…...
RCLI:统一AI开发环境的命令行工具设计与实战
1. 项目概述:一个面向AI应用开发的命令行利器如果你和我一样,经常在本地和云端服务器之间切换,调试各种AI模型,处理数据管道,那么你肯定对命令行(CLI)又爱又恨。爱的是它的高效和可编程性&#…...
06-AI产品的伦理边界-当上瘾设计遇上算法合规(系列二-上瘾模型的AI重构)
AI产品的伦理边界:当上瘾设计遇上算法合规本文是「上瘾模型的AI重构」系列的第6篇(系列收官)本文你将获得 🧠 上瘾设计的伦理困境全景📐 AI放大伦理风险的5个维度📊 “设计上瘾” vs "设计价值"的…...
移动Git客户端:Android上的完整版本控制解决方案
移动Git客户端:Android上的完整版本控制解决方案 【免费下载链接】MGit A Git client for Android. 项目地址: https://gitcode.com/gh_mirrors/mg/MGit 在移动开发日益普及的今天,开发者需要在不同场景下管理代码版本。移动Git客户端MGit为Andro…...
APK Installer完整指南:在Windows电脑上快速安装Android应用的终极解决方案
APK Installer完整指南:在Windows电脑上快速安装Android应用的终极解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想在Windows电脑上直…...
【技术解析】VadCLIP:如何让视觉语言模型“看懂”视频异常?
1. VadCLIP是什么?为什么视频异常检测需要它? 想象一下你正在监控室盯着几十块屏幕,突然有个画面闪过一个可疑行为——可能是打架、偷窃或者交通事故。传统监控系统要么依赖人工盯屏(容易疲劳漏检),要么使用…...
从dbc到AUTOSAR网络:ISOLAR-A工具链的CAN信号映射实战
1. 从dbc到AUTOSAR:为什么需要信号映射? 在汽车电子开发中,dbc文件就像一份"通信字典",记录了ECU之间通过CAN总线交流的所有规则。但当你把这份字典直接扔给AUTOSAR架构时,会发现两者说的不是同一种语言——…...
避坑指南:用TensorFlow 2.x和HuggingFace Transformers搞定中文NER,我踩过的这些坑你别再踩
中文NER实战避坑手册:TensorFlow 2.x与HuggingFace Transformers的进阶技巧 在自然语言处理领域,命名实体识别(NER)一直是核心任务之一。对于中文文本而言,由于语言特性的差异,开发者往往会遇到比英文NER更…...
