复兴计划01-lc06

StringBuilder和StringBuffer的区别

1. StringBuffer和StringBuilder都是用于字符串动态拼接,但是StringBuffer拼接的函数方法的实现中用了synchornized上锁,效率较低,不过可以用于多线程以此来维护线程安全;相比之下,StringBuilder是单线程,多线程下线程不安全

lc06

在这里插入图片描述

  class Solution{public String convert(String s,int numRows){//1.如果字符串长度小于2,则按原路返回if(numRows<2) return s;//2.首先创建一个集合StrRows,将s中的字符添加到集合当中(按照N:从上到下,从左到右的顺序)  List<StringBuffer> StrRows=new ArrayList<StringBuffer>();int i=0,flag=-1;for(char c;s.toCharArray()){//2.1将字符c一个个添加到集合当中的各个子串中StrRows.get(i).append(c);//2.2若当前行为第一行或者最后一行需要改变方向——>为后面添加字符作铺垫if(i==0||i==numRows-1) flag=-flag;i+=flag;//3.从StrRows中的每个子串进行拼接成一个新的大串StringBuilder result;for(StringBuilder s_row:StrRows){result.append(s_row);}}return result.toString();
}
}///法二(不要忘记ArrayList<StringBuilder> strLists,StringBuilder是一个包装类,需要按照所需行数(numRows),strLists.add(new StirngBuilder()))
//StringBuilder,StringBuffer这些包装类,转为字符串可以利用toString()直接转public String convert(String s,int numRows){if(numRows<2) return s;//1.创建集合存入s的字符char[] c=s.toCharArray();ArrayList<StringBuilder> strLists = new ArrayList<>(); //存储输入字符,最后横取字符串拼接即可for (int i = 0; i < numRows; i++) {strLists.add(new StringBuilder());}int count=0;//层数int flag=-1;//作方向的变换for (int i = 0; i < c.length; i++) {strLists.get(count).append(c[i]);if(count==0||count==numRows-1) flag=-flag; //当输入的字符到达第一层或者最后一层时,需要作出方向改变(++,--变成+-某变量即可,改变变量的正负即可)count+=flag;}//2.横取集合字符串拼接StringBuilder res=new StringBuilder();for (int i = 0; i < numRows; i++) {res.append(strLists.get(i));}return res.toString();}
lc08字符串转换为整数

在这里插入图片描述
关键:
分为三个点,1.去掉前面的空格 2.抓住符号位±,以及默认状态(注意是否拥有±对数字位的影响)3.遍历数字位,获得数字
4.以及当遇到非数字时,直接返回
在这里插入图片描述

class Solution {public int myAtoi(String s) {char[] c = s.trim().toCharArray();if (c.length == 0) return 0;int res = 0, bndry = Integer.MAX_VALUE / 10;int i = 1, sign = 1;if (c[0] == '-') sign = -1;else if (c[0] != '+') i = 0;for (int j = i; j < c.length; j++) {if (c[j] < '0' || c[j] > '9') break;if (res > bndry || res == bndry && c[j] > '7') return sign == 1 ? Integer.MAX_VALUE : Integer.MIN_VALUE;res = res * 10 + (c[j] - '0');}return sign * res;}
}

lc09
是否为回文整数

public boolean reverse3(int num) {int temp = num;int result = 0;while (temp != 0) {int last = temp % 10;result = result * 10 + last;temp /= 10;}return num == result;}

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

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

相关文章

odoo17后台启动过程4——odoo.http.root

在上一篇文章中&#xff0c;我们再启动server的时候传入了一个对象odoo.http.root&#xff0c;看看这是何方神圣 odoo\http.py 这里定义了Application类&#xff0c; 二root是这个类的一个实例&#xff0c;注释说这是WSGI网关的入口点。通过调试跟踪&#xff0c;也确定了 odoo…

线程池的两种提交方式

线程池是一种并发编程的机制&#xff0c;用于管理和重用线程&#xff0c;以提高应用程序的性能和效率。Java中的ExecutorService是线程池的一个接口&#xff0c;它提供了两种主要的方法来提交任务&#xff1a;execute()和submit()。 1. execute() 方法&#xff1a; void execut…

IP tables防火墙(一)

本章主要介绍&#xff1a; 熟悉Linux防火墙的表&#xff0c;链的结构理解数据包匹配的基本流程学会编写IP tables规则 1.0防火墙基础 在 Internet 中&#xff0c;企业通过架设各种应用系统来为用户提供各种网络服务&#xff0c;如 Web 网站、电子邮件系统、FTP 服务器、数…

教你用策略枚举消除if-else判断(以支付场景为例子)带给你新的认知,记得收藏哦~

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

TDD-LTE 附着流程和去附着流程

目录 1. 附着流程 1.1. 正常附着流程 2. 异常附着流程 2.1 RRC建立失败 2.2 核心网拒绝 2.3 eNodeB未收到初始化上下文建立请求 2.4 RRC重配置请求丢失 2. 去附着流程 2.1 非关机去附着流程 2.1.1 连接态非关机去附着 2.1.2 空闲态非关机去附着 2.2 关机去附着流程 …

【algorithm】自动驾驶常见常考的几个模型和推导,顺便总结自己遇到的考题经验不断更新之———控制版

写在前面 本来快达成目标了&#xff0c;没想到公司遭受了问题&#xff0c;公司和同事我感觉还是挺好的&#xff0c;有国企的正规也有小企业的灵活&#xff0c;大家都很有学习欲望。 作为本次再次复习回忆如下&#xff1a; 把之前面试准备的 机器学习&#xff08;基本搬运到CSD…

车载 Android之 核心服务 - CarPropertyService 的VehicleHAL

前言: 本文是车载Android之核心服务-CarPropertyService的第二篇&#xff0c;了解一下CarPropertyService的VehicleHAL, 第一篇在车载 Android之 核心服务 - CarPropertyService 解析-CSDN博客&#xff0c;有兴趣的 朋友可以去看下。 本节介绍 AndroidAutomotiveOS中对于 Veh…

什么是软件测试?这是我听过最通俗易懂的解释

很多人总是说我要学习软件测试&#xff0c;因为他可以拿到一个不错的薪资。 但是当我问他你知道什么是软件测试吗&#xff1f;这个时候&#xff0c;他总会愣住了&#xff0c;一脸不屑的表情说着&#xff0c;不就是找bug&#xff0c;给软件找问题&#xff0c;找茬吗&#xff1f…

混合编程—C++程序中python脚本的嵌入方法(理论部分)

一、C与Python高级编程语言简概 &#xff08;一&#xff09;C C是一种被广泛使用的计算机程序设计语言。它是一种通用程序设计语言&#xff0c;支持多重编程范式&#xff0c;例如过程化程序设计&#xff08;Procedural programming&#xff09;、面向对象程序设计&#xff08;…

CISSP 第1章:实现安全治理的原则和策略

作者&#xff1a;nothinghappend 链接&#xff1a;https://zhuanlan.zhihu.com/p/669881930 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 CIA CIA 三性&#xff1a; 机密性&#xff1a;和数据泄露有关。完整性…

odoo17 | 模型和基本字段

前言 在上一章的最后&#xff0c;我们能够创建一个Odoo模块。然而&#xff0c;在这一点上&#xff0c;它仍然是一个空壳&#xff0c;不允许我们这样做 存储任何数据。在我们的房地产模块中&#xff0c;我们希望存储与 数据库中的属性&#xff08;名称、描述、价格、居住面积等…

【BIG_FG_CSDN】C++ 数组与指针 (个人向——学习笔记)

一维数组 在内存占用连续存储单元的相同类型数据序列的存储。 数组是静态存储器的块&#xff1b;在编译时确定大小后才能使用&#xff1b; 其声明格式如下&#xff1a; 元素类型 数组名[常量]&#xff1b;元素类型&#xff1a;数组中元素的数据类型&#xff1b; 常量&#…