剑指Offer笔记—— 二维数组中的查找 替换空格
来源:互联网 发布:相机数据恢复 编辑:程序博客网 时间:2024/06/08 20:02
1、面试题3:二维数组中的查找
题目大致为:
一个二维数组,每一行按照从左到右递增,每一列按照从上到下递增,查找数组中是否存在某个数。如数组:
1 2 8 9
2 4 9 12
4 7 10 13
6 8 11 15
思路:
这道题有其特殊性,从右上角或者左下角开始查找的方向是确定的。这句话是说比如是查找7,我们从右上角开始,9大于7,则减少列下标,查找13的话就增加行下表,查找的方向是确定的,这样就容易实现了。
Java代码:
2、面试题4:替换空格
题目大致为:
实现一个函数,把字符串中的每个空格替换成"%20"。
思路:
在Java和C中,对字符串的处理略有不同,在C中字符串是以字符数组的形式存储的,并且在字符串或者字符数组中都有一个结束符"\0";而在Java中,却没有这样的结束符,所以本题在Java下的处理与C中也不一样。
在C中,思路为:先遍历一遍,找到空格的个数,这样便可以计算新的字符串的长度=旧的字符串的长度+空格数*2,然后从尾部向前遍历,遇到非空格,则复制到新的位置,否则直接添加新字符。
在Java中,字符替换主要有两种:replace(char oldChar, char newChar)和replaceAll(String regex, String replacement)。
为简单起见,我加了点限制条件,用Java实现本题。
Java实现
阅读全文
0 0
- 剑指Offer笔记—— 二维数组中的查找 替换空格
- 《剑指offer》——二维数组中的查找 和 替换空格
- 《剑指offer》——1 二维数组中的查找
- 《剑指offer》——二维数组中的查找
- 《剑指offer》——二维数组中的查找
- 剑指Offer——二维数组中的查找
- 《剑指offer》——二维数组中的查找
- 剑指offer——二维数组中的查找
- 剑指Offer——二维数组中的查找
- 二维数组中的查找——剑指Offer
- 剑指Offer——二维数组中的查找
- 剑指Offer—— 二维数组中的查找
- 剑指offer——二维数组中的查找
- 剑指offer ——二维数组中的查找
- 剑指offer——二维数组中的查找
- 剑指offer(C++)——二维数组中的查找
- 剑指Offer——(1)二维数组中的查找
- 剑指offer——二维数组中的查找
- 04-UI : 九宫格应用管理
- AD画原理图注意点
- log4j快速入门
- Android EditText中通过drawabeRight等添加了清空按钮 如何给按钮添加点击事件?
- synchronized
- 剑指Offer笔记—— 二维数组中的查找 替换空格
- Oracle视图
- BitmapFactory
- 关于Java中数据计算字段,使用BigDecimal
- 物联网技术与应用
- Linux内核中的Kconfig和Makefile
- java1
- <NOIP> 13 . P1046 陶陶摘苹果
- Mybatis的数据源 DataSource