2023-08-03力扣今日四题
链接:
剑指 Offer 67. 把字符串转换成整数
题意:
按规则将字符串转换成整数,规则不详叙
解:
字符串处理
实际代码:
#include<iostream>
#include<cstring>
#include<climits>
using namespace std;
int stringToint(string &s)
{int ans=0;for(int i=0;i<s.size();i++){if(s[i]=='+'||s[i]=='-'){ans=int(s[++i]-'0');}else ans=ans*10+int(s[i]-'0');}if(s[0]=='-') ans*=-1;return ans;
}
void solveZero(string &s)
{for(int i=0;i<s.size();i++){if(s[i]=='-'||s[i]=='+') continue;if(s[i]!='0') break;else{s.erase(i,1);i--;}}if(s.empty()) s="0";else if(s[0]=='+') s.erase(0,1);
}
void NoSpace(string &s)
{int pos1=s.find_first_not_of(" ");int pos2=s.find_last_not_of(" ");if(pos1!=-1)s=s.substr(pos1,pos2-pos1+1);
}
int strToInt(string str)
{NoSpace(str);if(str.empty()) return 0;string ans,iMin=to_string(INT_MIN), iMax=to_string(INT_MAX);int zt=0;for(int i=0;i<str.size();i++){if(zt<=1)//状态1 数字或者点 状态0 +- {if(str[i]=='+'||str[i]=='-')//只允许一个符号 {if(zt==0) zt=1;//进入状态1 else break;ans.push_back(str[i]);}else if(str[i]>='0'&&str[i]<='9'){ans.push_back(str[i]);zt=1;//进入状态1 }else break;}}//cout<<ans<<endl;solveZero(ans);cout<<ans<<endl;if(ans.size()==1&&(ans[0]=='+'||ans[0]=='-')) return 0;if(ans[0]=='-')//负{if(ans.size()>iMin.size()) return INT_MIN;else if(ans.size()==iMin.size()){if(ans<iMin) return stringToint(ans);else return INT_MIN;}else return stringToint(ans);}else{if(ans.size()>iMax.size()) return INT_MAX;else if(ans.size()==iMax.size()){if(ans<iMax) return stringToint(ans);else return INT_MAX;}else return stringToint(ans);}return 0;
}
int main()
{string s;getline(cin,s);int ans=strToInt(s);cout<<ans<<endl;return 0;
}
限制:
我不道啊
相关文章:
2023-08-03力扣今日四题
链接: 剑指 Offer 67. 把字符串转换成整数 题意: 按规则将字符串转换成整数,规则不详叙 解: 字符串处理 实际代码: #include<iostream> #include<cstring> #include<climits> using namespac…...
【学会动态规划】最佳买卖股票时机含冷冻期(15)
目录 动态规划怎么学? 1. 题目解析 2. 算法原理 1. 状态表示 2. 状态转移方程 3. 初始化 4. 填表顺序 5. 返回值 3. 代码编写 写在最后: 动态规划怎么学? 学习一个算法没有捷径,更何况是学习动态规划, 跟我…...
随机RSI震荡指标公式(StochRSI),RSI和KDJ二合一
随机RSI震荡指标(StochRSI)是由图莎尔钱德和斯坦利克罗发明的一种摆动指标,结合了相对强弱指标(RSI)和随机指标(KDJ)的原理,目的是提高灵敏度,解决RSI难以达到超买超卖区的问题,以便…...
轻松搭建酒店小程序
酒店小程序的制作并不需要编程经验,只需要按照以下步骤进行操作,就能很快地搭建自己的小程序商城。 第一步,注册登录账号进入操作后台,找到并点击【商城】中的【去管理】进入商城的后台管理页面,然后再点击【小程序商城…...
算法通过村——Hash和队列问题解析
算法的备胎Hash和找靠山的队列 备胎Hash Hash,不管是算法,还是在工程中都会大量使用。很多复杂的算法问题都用Hash能够轻松解决,也正是如此,在算法例就显得没什么思维含量,所以Hash是应用里的扛把子,但在算…...
租赁类小程序定制开发|租赁管理系统源码|免押租赁系统开发
随着互联网的发展,小程序成为了一种重要的移动应用开发方式。租赁小程序作为其中的一种类型,可以为很多行业提供便利和创新。下面我们将介绍一些适合开发租赁小程序的行业。 房屋租赁行业:租房小程序可以帮助房东和租户快速找到合适的租赁…...
后端进阶之路——浅谈Spring Security用户、角色、权限和访问规则(三)
前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★前端炫酷代码分享 ★ ★ uniapp-从构建到提升★ ★ 从0到英雄,vue成神之路★ ★ 解决算法,一个专栏就够了★ ★ 架…...
Mac 安装不在 Apple 商店授权的应用程序
文章目录 一、场景介绍二、实操说明 一、场景介绍 在日常的工作生活中,发现一些好用的应用程序,但是出于某些原因,应用程序的开发者并没有将安装包上架到苹果商店。 那么这些优秀的应用程序下载安装以后就会出现如下弹框被拒之门外 二、实操…...
【MyBatis】MyBatis把空字符串转换成0的问题处理方案(96)
先看问题: Postman入参: MyBatis采用map循环插入: // Mapper接口层void addPar(Param(value "question") Map<String, Object> paramMap);<!-- 新增:参数 --><insert id"addPar" parameterType"map">INSERT IGNO…...
OpenLayers实战,OpenLayers获取移动端精确定位,OpenLayers适配App混合H5方式调用手机定位位置并定位到指定点
专栏目录: OpenLayers实战进阶专栏目录 前言 本章讲解OpenLayers如何获取移动端精确定位位置。不使用任何native本地方法,只使用纯js实现。 本篇文章适用于App混合H5方式调用手机精确定位,打包时需要选择GPS位置权限,手机获取定位过程中会弹出是否允许定位的权限提示。 …...
Go指针取址问题:循环后每次都拿到相同内容
例子: func main() {yourList : [...]int{1, 2, 3}yourMap1 : make(map[int]*int)yourMap2 : make(map[int]*int)for key, value : range yourList {// 修改前yourMap1[key] &value// 修改后tmp : valueyourMap2[key] &tmpfmt.Println(value, &value…...
用Rust实现23种设计模式之简单工厂
在 Rust 中,可以使用结构体和 trait 来实现工厂方法模式。工厂方法模式是一种创建型设计模式,通过定义一个创建对象的接口,让子类决定实例化哪个类。下面是一个简单的示例,展示了如何使用 Rust 实现工厂方法模式: // …...
SpringBoot + minio实现分片上传、秒传、续传
什么是minio MinIO是一个基于Go实现的高性能、兼容S3协议的对象存储。它采用GNU AGPL v3开源协议,项目地址是https://github.com/minio/minio。 引用官网: MinIO是根据GNU Affero通用公共许可证v3.0发布的高性能对象存储。它与Amazon S3云存储服务兼容…...
logback 里面设置 自动删除3天之前的日志
目录 1 实现 1 实现 要实现达到一定大小后将日志文件压缩,并删除三天前的日志数据,可以结合使用 SizeAndTimeBasedRollingPolicy 滚动策略和 DeleteOlderThan 选项来配置。下面是一个示例配置,实现日志文件达到一定大小后进行滚动和压缩&…...
对于数据库查询索引和查字典索引的理解
之前面试问过我对于数据库索引的理解,这个问题不是具体的问题太宽泛,面试官也没进行引导,我不知道怎么回答,下面是结合查字典进行理解。 查字典 拿查字典举例,知道一个字怎么写但是不知道具体的意思以及发音ÿ…...
git删除已经提交的大文件
当你不小心把一个巨大的二进制文件提交到git仓库的时候,此时删除再提交也没有用了,大文件已经在仓库中留底了。另外比如需要删除某个需要保密的文件,都是相同的解决办法。 我本来想着把dll放在三方库里面提交到仓库里,省得在不同…...
【数据分析】pandas 一
目录 一,pandas简介: 二,pandas数据结构Series简介: 2.1 data为ndarray 2.2 data为字典 三,Serise切片操作: 四,Series性质: 4.1 Series类似于numpy,字典 4.2 矢量化操作和标…...
题解 | #G.Gcd# 2023牛客暑期多校6
G.Gcd 数论 题目大意 给定一个包含两个非负数的初始集合 S { x , y } S\{x,y\} S{x,y} 每次操作可以选定其中不相等的两个数 a , b a,b a,b ,并将 a − b a-b a−b 或 g c d ( a , b ) gcd(a,b) gcd(a,b) 置入集合 S S S ,其中 g c d ( 0 , a …...
苍穹外卖day10——订单状态定时处理(Spring Task)、来单提醒和客户催单(WebSocket)
预期效果 对于超时没处理的需要定时程序处理。基于SpringTask实现。 来单提醒和客户催单。基于WebSocket实现。 Spring Task 介绍 Cron表达式 周几通常不能和日一起指定。 cron表达式在线生成器 在线Cron表达式生成器 入门案例 创建定时任务类 /*** 定义定时任务类*/ Slf4j…...
【多线程初阶】多线程案例之单例模式
文章目录 前言1. 什么是单例模式2. 饿汉模式3. 懒汉模式 --- 单线程版4. 懒汉模式 --- 多线程版5. 懒汉模式 --- 多线程改进版总结 前言 本文主要给大家讲解多线程的一个重要案例 — 单例模式. 关注收藏, 开始学习吧🧐 1. 什么是单例模式 单例模式是一种很经典的…...
SQL如何统计分组中占比超过一定阈值的数据_HAVING过滤聚合
WHERE在分组前过滤行,HAVING在分组后过滤组;占比类条件必须用HAVING或窗口函数实现,WHERE无法使用聚合函数。WHERE 和 HAVING 的分工必须分清WHERE 在分组前过滤行,HAVING 在分组后过滤组。想筛“某组占比 > 80%”这种条件&…...
【技术干货】Hermes Agent 0.8 深度解析:开源自主 AI 代理的生产级进化
摘要 本文深度解析 Hermes Agent 0.8 版本的核心技术升级,涵盖异步任务通知、动态模型切换、工具调用优化等关键特性,并提供基于 Python 的完整实战代码示例,助力开发者快速构建生产级 AI Agent 应用。背景介绍 Hermes Agent 是由 Nous Resea…...
WebRTC GCC源码实战:手把手教你调试GoogCcNetworkController的拥塞控制流程
WebRTC GCC源码实战:手把手教你调试GoogCcNetworkController的拥塞控制流程 在实时视频会议应用的开发过程中,带宽估计不稳定是工程师们经常遇到的棘手问题。当用户反馈画面卡顿、画质波动时,我们需要深入WebRTC的拥塞控制核心——Google Con…...
5分钟解决NVIDIA显卡色彩过饱和:novideo_srgb显示器色彩校准终极指南
5分钟解决NVIDIA显卡色彩过饱和:novideo_srgb显示器色彩校准终极指南 【免费下载链接】novideo_srgb Calibrate monitors to sRGB or other color spaces on NVIDIA GPUs, based on EDID data or ICC profiles 项目地址: https://gitcode.com/gh_mirrors/no/novid…...
10_TiDB AI生态集成与行业实践案例
10_TiDB AI 生态集成与行业实践案例 标签: TiDB AI生态 LangChain RAG实践 行业案例 Django SQLAlchemy 关键词: TiDB AI生态、LangChain集成、LlamaIndex集成、Django TiDB、SQLAlchemy向量、行业实践案例、知识库问答、智能客服、TiDB.AI、GraphRAG、…...
Lite-Avatar持续集成:GitHub Actions实践指南
Lite-Avatar持续集成:GitHub Actions实践指南 1. 引言 你是不是也遇到过这样的情况:每次修改Lite-Avatar项目代码后,都要手动运行测试、构建镜像、部署到服务器?不仅耗时耗力,还容易出错。特别是当团队协作时&#x…...
Android设备标识架构解析:Android_CN_OAID实现原理与实战指南
Android设备标识架构解析:Android_CN_OAID实现原理与实战指南 【免费下载链接】Android_CN_OAID 安卓设备唯一标识解决方案,可替代移动安全联盟(MSA)统一 SDK 闭源方案。包括国内手机厂商的开放匿名标识(OAIDÿ…...
ERTEC 系列 PROFINET 芯片级硬件过滤器分析改
一、语言特性:Java 26 与模式匹配进化 1.1 Java 26 语言级别支持 IDEA 2026.1 EAP 最引人注目的变化之一,就是新增 Java 26 语言级别支持。这意味着开发者可以提前体验和测试即将在 JDK 26 中正式发布的语言特性。 其中最重要的变化是对 JEP 530 的全面支…...
2025实战:从零构建企业级本地知识库的避坑指南
1. 为什么企业需要本地知识库? 最近两年,我帮十几家企业搭建过本地知识库系统。最让我印象深刻的是某金融公司的案例:他们原先使用某知名云笔记产品,结果一次服务器故障导致全员无法访问核心业务文档,直接影响了当天的…...
深度学习在文档图像矫正(Dewarp)与阅读顺序预测(ROP)中的前沿应用与实践
1. 文档图像矫正(Dewarp)技术的前世今生 第一次看到弯曲的发票被AI拉直时,我盯着屏幕愣了三秒——这简直像变魔术。你可能也遇到过类似场景:用手机拍摄纸质文档时,边缘总是扭曲变形,文字像被哈哈镜照过一样…...
