一些小问题

MySQL

Python

Java

  • 运算符的优先级
    在这里插入图片描述

  • stack结构中的判空问题:stack != nullstack.size > 0的区别:

    • stack != null是判断栈是否初始化(或者说是否创建了栈?)
    • stack.size > 0是判断栈里是否有内容
    • 它们的区别,就像“有没有钱包”和“钱包里有没有钱”的区别

  • Scanner中nextLine()的使用问题:
    我发现在while循环中使用nextLine(),首次可以输入,后续直接把输入跳过了。
    原来nextLine()会接收回车作为输入,所以你还没真正输入,它就已经接收一个回车继续执行
    了。
    解决方法:一进入while循环就传入System.in初始化Scanner
    参考

  • 递归的内存机制
    在这里插入图片描述

  • 递归的时候要慎用自增自减。我在用递归写快排的时候,一开始是这样写的:
    sort(arr, low, l--);产生了栈溢出。要改成sort(arr, low, l-1);sort(arr, low, --l);才行
    另外,递归不能自身调用太多次。比如快排这个程序,在极端情况下,即初始序列完全逆序,数据量小的时候还能正常运行,数据量大的时候就会栈溢出报错。我觉得就是因为自身调用太多次,反复在栈里面创建方法,导致栈溢出。
    总之,慎用递归。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值