刷题的日常

Java字符串数据结构的题目:

这道题难度相对不难,大一学C的时候用C敲过,but现在用的是Java写的。

解题的思想有点偏栈式那种”先进后出“想法。

我用的Arraylist集合,之前用数组的,想试一下别的方式。解题思路可以先把集合把"(","[","{"这三个符号存进集合,如果遇到相反的符号,给定if条件来判定是否是对应的相反符号,如果是的话,集合直接移除元素,否则可以直接判定为错误,return false直接返回结果。其中难点就是需要假设不同的符号顺序情况,根据不同的情况设定不同的条件。比如开头不能是相反符号")"等这些,因为集合也没有元素,所以遇到相反符号,集合如果为空直接判定错误,也省了判断字符串开头不能以相反符号为首符号的代码。以上都是我的个人想法和解读,不是指定的想法。

我也看了别人写的丝滑简洁的代码,总的思路来说大体一样,但是别人的代码更加丝滑。

MySQL的题目:

这道题我想了十分钟有了一些思路但不知如何下手,我在临近怎么换座位这个步骤给卡住了,后来我看了官方的解法,它运用到了流程函数case end的用法时,就感觉瞬间有想法了。这也让我反思我对流程函数的陌生感。

主要临近两个互换座位,那么除数就是2,通过id除2的余来判断是第一位和第二位(上下,然后上下),再对id进行加减操作,操作完根据序号以升序的形式排列。

以下是简化版代码,运行效果一致:

总的来说还得继续加油呀!大家了解一下即可,感谢您的耐心阅读。学无止境,让我们一起继续添砖Java!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值