
算法总结
blitheW
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java代码实现替换空格
剑指Offer-替换空格题目: 实现一个函数,把字符串中的每一个空格替换为"%20"。背景: 在URL中存在一些特殊字符,如空格、#等,我们需要把这些特殊字符转换为服务器所能识别的字符,转换的规则为在%后加上ASCII码的两位十六进制的表示。思路如下如果每一次发现一个空格就在这个空格的位置插入一个%20的话,考虑不覆盖后边的字符的情况下,就要将后边的进行后移,而如果中间穿插多个空格就会导致部分字符串进行多次后移,这样肯定不是最让人满意的答案。在允许自己分配足够的内存的情况下,因为一个空格替换需要多原创 2021-07-03 22:56:49 · 236 阅读 · 0 评论 -
Java实现俩个大数相乘
不用BigInteger实现两个大数字相乘思路位数123数字345678如表所示两个数345和678两个数位数相加为6的数积为40两个数位数相加为5的数为32+35两个数位数相加为4的数为24+30+28两个数位数相加为3的数为21+24两个数位数相加为2的数为18然后逐次进行进位得到最终的数代码实现 public static void main(String[] args) { System.out.print原创 2021-07-02 00:01:40 · 469 阅读 · 0 评论 -
Java实现二维数组中查询是否存在某一个数字
剑指Offer算法题目:二维数组中查找是否存在某一个值, 数组从左到右递增,从上到下递增, 如下所示查找7返回true ,查找5返回fallse,数组类型如下所示1 2 8 92 4 9 124 7 10 136 8 11 15思路:我们从边角上开始选值,当查询7是否存在数组中时,右上角值为9,大于7,由于已经定义了数组特性,从上到下,从左到右依次递增,所以9所在的列肯定要比7大,故不用再考虑这一列,去掉9这一列之后,右上角的数8比7大,继续去掉这一列,此时右上角数2小于7,去原创 2021-06-22 22:44:32 · 1039 阅读 · 0 评论 -
Java实现查找出数组中重复的数字
题目描述: 找出数组中重复的数字在一个长度为n的数组里的所有数字都在 0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如:如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出的是重复的数字2或者3先考虑测试案例1、是否存在非法数字,即存在超出n大小的数字或者是小于0的数字2、数组是否为空或者长度为0 public static void main(String[] args) {原创 2021-05-30 18:08:06 · 1090 阅读 · 0 评论 -
求链表中倒数第k个节点
问题: 求链表中倒数第k个节点结题思路: 用两个指针,第一个指针先走k-1步,然后两个指针一起走,当第一个指针走到尾节点的时候。第二个指针指向的就是倒数第k个节点。先考虑可能存在的异常场景1、链表为空2、k值大于链表size3、k值小于等于0代码实现public static String getKvalue(LinkedList<String> list){ //控制台输入k值 Scanner scanner = new Scanner(Syste原创 2021-05-08 22:34:59 · 215 阅读 · 0 评论