![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指Offer(Java版)
剑指Offer(Java版)
Livorwill
这个作者很懒,什么都没留下…
展开
-
《剑指Offer》- Java版(5)
5.替换空格题目描述:将一个字符串中的空格替换成 “%20”解题思路:1.填充字符使得字符串的长度等于替换之后的长度;2.指定两个指针p, q,指向原串末尾和新串末尾,逆序替换public static String replaceSpace(StringBuffer str){ int p = str.length() - 1; for (int i = 0; i <= p; i++) { if(str.charAt(i) == ' ')原创 2020-09-18 08:38:42 · 90 阅读 · 0 评论 -
《剑指Offer》- Java版(4)
4.二维数组中的查找题目描述:给定一个二维数组,其每一行从左到右递增排序,从上到下也是递增排序。给定一个数,判断这个数是否在该二维数组中。解题思路:该二维数组中的一个数,小于它的数一定在其左边,大于它的数一定在其下边。因此选定右上角为基准,将数与基准比较,然后对应加减行列public static boolean find(int target, int[][] arr){ if(arr == null || arr.length == 0 || arr[0].length == 0)原创 2020-09-17 14:32:47 · 86 阅读 · 0 评论 -
《剑指Offer》- Java版(3)
3.数组中重复的数字题目描述:在一个长度为 n 的数组里的所有数字都在 0 到 n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复几次。请找出数组中任意一个重复的数字。解题思路:遍历数组,判断索引与该索引上的值是否一样,如果不一样就判断以该值为索引的元素值,与该值是否一致,如果一样就重复,不一样交换他们使之归位public boolean find(int[] arr, int[] duplication){ if(arr == null || ar原创 2020-09-17 11:33:15 · 127 阅读 · 0 评论