question 1:字符串统计

我的答案:
主要问题在统计连续的L,我用了一个标志位来记录连续的L

别人的做法:
更简单的做法是直接查找有没有字符串 'LLL'

question 2:字符串翻转

答案:

question 3:修改一个数使得列表递增
给定一个列表,能不能只修改里面的一个数而使得整个列表递增

我的答案:错误
统计列表中的下降次数

别人的答案:
当发现前面的数比后面的数大的时候,有两种解决方法。第一种是将前面大的数改成不比后面的数大的数(那么这个数的最大值就是后面的数),第二种是将后面的数改成不比前面的数小的数(这个数的最小值是前面的数)
假如改第一个,就必须是可能值的最大值,这样才不会出现前面的数比改过后的数大。
假如改第二个,就必须取可能值的最小值,这样才不会使得这个改的数比后面的数大
所以只修改这么一次,再检查两种修改策略,就知道是否可行了

question 4:计算二叉树的直径
二叉树的定义为:两个节点间的距离的最大值

别人的答案:
最大的长度一定是某个节点的左边最大子节点长度+右边最大子节点长度,所以我们在计算子树长度的时候可以记录下这个最大值

question 5:求两个用字符串表示的整数的和
这个问题要求不用内置方法来完成,怎么样使得速度快点?

我的方法:很慢 1200ms 1%左右,差点超时过不了
这个思路是先将字符串转换成整数,完成加法,再将整数转换成字符串。这个方法还是比较绕的

别人的方法改进: 45ms,95%
我们考虑自己做加法的时候,肯定不会像上面这样做。
应该是按位相加,所以可以直接在一个循环内完成加法

网友评论