力扣刷题笔记——,CSS块元素

}

第二题:

====

整数反转:


第二题自己第一次看到题目写出来的代码:

卡在了样例 最大数 最小数 乘以十,加上末位数的反转的最后一步,实际上这个是考验核心思想和数学理论的重要一步,最后四个样例没RUN过去属于考虑不周了。

我的第一次错误的源代码:

class Solution

{

public int reverse(int x)

{

int left=-(int)Math.pow(2,31);

int right=-(int)(1-Math.pow(2, 31));

if(x==0||x>right||x<left)

return 0;

else if(x<0)

return -doi(-x);

else

return doi(x);

}

public int doi(int x)

{

int xl=(x+“”).length();

//判定最后一位数是不是0,防止颠倒过来,举例不止120,如果是1200呢?

boolean flag=true;

while(flag)

{

if(x%10==0)

{

x=x/10;

xl=xl-1;

}

if(x%10!=0)

flag=false;

}

int arr[]=new int[10];

for(int i=0;i<xl;i++)

{

arr[i]=x%10;

x=x/10;

}

// for(int i=0;i<xl;i++)

// {

// System.out.println(arr[i]);

// }

int target=0;

for(int j=0;j<xl;j++)

{

target=target+(arr[j]*(int)Math.pow(10, xl-1-j));

}

return target;

}

}

本题初始的想法想的较多,想的是本题的

整数反转,初始考虑较多,想的是要不要分正负,负数的符号怎么做处理,如果最后末位是一个0或者多个0的话怎么处理,如何反转

如下的代码可以实现求一串数字的长度:

int x=123456;

int len=(x+“”).length();

System.out.println(len);

其实根本不用分析如上问题,不用知道这个数字有几位,

在Java中:

分为顺序结构和循环结构

循环结构又分为 四种

for while do while foreach、

其中 do while用的是相当少的

for和while中,大多数情况下

for需要知道具体循环的次数

while需要知道循环的终止条件

此处补充关于JAVA中循环的基础入门知识点:

break:提前结束循环,

continue:结束本躺循环

break:提前结束循环 如一个循环100次,进行到第二次 碰到break

剩下的98次不会执行

而如果是continue,则是进行到当前,立马跳过去下一次

switch

loop   loop 指的是循环 ,break不能在除了 switch和loop外的中断

for(表达式1,表达式2,表达式3)

{

循环体;

}

执行顺序:

1、表达式1:只执行一次。初始化。

2、判断表达式2是否为真。

3、循环体

4、表达式3;

第二趟  开始 就不走表达式1的初始化了

从表达式2开始走

2、判断表达式2是否为真。

3、循环体

4、表达式3;

如果没有表达式2 那么JAVA认为他 永远为真

通过for循环来写一个死循环

for( ; ; )

{

循环体;

}

言归正传:在本题(第二题)可以一个while走天下!

本题举例 如数字

x=-1 234 500

他是个负数,末尾还有0

对他进行反转,

首先 末位数 last=x%10=0

反转数 int rev=0

rev=rev*10+last;

这样如果末位数是个0

初始

rev=0*10+0

然后还有一个0

rev=(0*10+0)*10+0

后面的两个0都不会因为反转被摆在第一位第二位

这时候该对五进行反转

-123 450 0已经经过两次除10操作,把0全部去掉了

x=x/10两次,此时的x已经是 -12345了

然后 -12345%10==-5

last=-5(随着末位数last被除10弹出,负号也自带出来啦)

rev=0+(-5)

x=x/10=-12345/10=-1234

last=-1234%10=-4

rev=(0±5)*10+(-4)

顺次下去,三句话完成任意整数反转

while(x!=0)

{

last=x%10;

x=x/10;

rev=rev*10+last;

}

这时候一定有小伙伴在刷第一题是对官方题解(JAVA版本)中的 Integer.MAX_VALUE一头雾水,心里想:我擦,这是个什么妖魔鬼怪。

if(rev>Integer.MAX_VALUE||rev<Integer.MIN_VALUE)//这行代码是核心关键哦

{

return 0;

}

这一定是很多好兄弟的心声,刚想明白了while循环怎么写

这怎么还要对最大值做判断捏?刚降了一个妖怎么又来了一个魔?

下面请看详解:

官方题解中给出的int 是 JAVA八大基本数据类型(八个基本数据类型,也即是 int,long,short,double,byte,float,String,boolean )中用的比较算是最多的一个帅气的小伙伴

而他的包装类Integer和他长得截然不同

相信冲着入门JAVA这门语言来的兄弟们都对类久闻大名了,我们这里不做赘述

记得他是包装类就好

Integer类就相当于 你这个人的个体

而Integet.MAX_VALUE相当于你的巅峰身高!200cm!

也可以理解为 c语言中的宏定义 #define MAX_VALUE 2147483647

这就够用啦~

以下代码建议老铁们动手敲一敲,运行一下,观察观察结果哦,具体为什么是这样,

先放个图在这里呀,

其他的基本数据类型包装类有没有最大值最小值呢?

(如char,boolean)(对啦,只有 int 和char的包装类不是首字母大写呀,分别是 Integer和Character)

有了最大值最小值后,他们最大值加一和最小值减一的结果会是什么呢?~

会在后续的帖子中更新出来哦,动动小手点个关注呗你的一键三连是对狗红日最大的支持耶!

package the.test;

//本文档旨在测试八个基本数据类型,也即是 int,long,short,double,byte,float,String,boolean

public class Testj

{

public static void main(String[] args)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

react和vue的比较

相同
1)vitual dom
2)组件化
3)props,单一数据流

不同点
1)react是jsx和模板;(jsx可以进行更多的js逻辑和操作)
2)状态管理(react)
3)对象属性(vue)
4)vue:view——medol之间双向绑定
5)vue:组件之间的通信(props,callback,emit)

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-rYMFvoih-1712752099419)]

react和vue的比较

相同
1)vitual dom
2)组件化
3)props,单一数据流

不同点
1)react是jsx和模板;(jsx可以进行更多的js逻辑和操作)
2)状态管理(react)
3)对象属性(vue)
4)vue:view——medol之间双向绑定
5)vue:组件之间的通信(props,callback,emit)

[外链图片转存中…(img-iVIPJdXG-1712752099419)]

[外链图片转存中…(img-ZNJC04zP-1712752099419)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-QevUMQoT-1712752099420)]

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值