Java字符串数据结构的题目:
这道题难度相对不难,大一学C的时候用C敲过,but现在用的是Java写的。
解题的思想有点偏栈式那种”先进后出“想法。
我用的Arraylist集合,之前用数组的,想试一下别的方式。解题思路可以先把集合把"(","[","{"这三个符号存进集合,如果遇到相反的符号,给定if条件来判定是否是对应的相反符号,如果是的话,集合直接移除元素,否则可以直接判定为错误,return false直接返回结果。其中难点就是需要假设不同的符号顺序情况,根据不同的情况设定不同的条件。比如开头不能是相反符号")"等这些,因为集合也没有元素,所以遇到相反符号,集合如果为空直接判定错误,也省了判断字符串开头不能以相反符号为首符号的代码。以上都是我的个人想法和解读,不是指定的想法。
我也看了别人写的丝滑简洁的代码,总的思路来说大体一样,但是别人的代码更加丝滑。
MySQL的题目:
这道题我想了十分钟有了一些思路但不知如何下手,我在临近怎么换座位这个步骤给卡住了,后来我看了官方的解法,它运用到了流程函数case end的用法时,就感觉瞬间有想法了。这也让我反思我对流程函数的陌生感。
主要临近两个互换座位,那么除数就是2,通过id除2的余来判断是第一位和第二位(上下,然后上下),再对id进行加减操作,操作完根据序号以升序的形式排列。
以下是简化版代码,运行效果一致:
总的来说还得继续加油呀!大家了解一下即可,感谢您的耐心阅读。学无止境,让我们一起继续添砖Java!