剑指offer刷题
staysilent
这个作者很懒,什么都没留下…
展开
-
2.替换空格
两种思路:第一个是直接new一个新的String数组,然后顺序赋值,简单但是实际中空间占有率大;第二种是先计算出空格个数,在延长传入数组的长度,从后往前来给数组赋值,时间复杂度高;public class Solution { public String replaceSpace(StringBuffer str) { int count = 0; for(int i = 0;i<str.length();i++){ if (str.char原创 2020-12-15 09:59:25 · 63 阅读 · 0 评论 -
1.二维数组查找
这个题目思路就是从最左下角的元素进行对比,大于目标值就向上移动,小于目标值就向右移动。但是关键是循环过程是把数组越界的条件作为while循环的条件,而不是用对比结果作为循环条件,当然也可以,但是就要考虑空二维数组的特殊情况,在while循环外多加一个判断,增加了代码量,所以还是用数组越界条件巧妙一点。public class Solution { public boolean Find(int target, int [][] array) { int len = array.原创 2020-12-14 21:28:28 · 75 阅读 · 0 评论