算法刷题
文章平均质量分 53
-权子-
莫等闲,白了少年头,空悲切!
展开
-
剑指offer刷题积累(Java)
入门 简单 1-替换字符串里的空格 依次遍历String中的每一个字符string.charAt(i),用StringBuilder来存储最终结果,判断是否为空格,是则往stringbuilder添加要替换成的字符,否则直接添加。 2-返回数组中重复的数字 用HashSet来存储数据,遍历数组将数字添加到set里,用set.contains(i)方法判断是否有重复,有则直接返回。 3-从头到尾打印链表 ........................原创 2022-06-17 18:42:50 · 103 阅读 · 0 评论 -
算法积累-01
一、二分查找 说个段子:有一天小明到图书馆借了 N 本书,出图书馆的时候,警报响了,于是保安把小明拦下,要检查一下哪本书没有登记出借。小明正准备把每一本书在报警器下过一下,以找出引发警报的书,但是保安露出不屑的眼神:你连二分查找都不会吗?于是保安把书分成两堆,让第一堆过一下报警器,报警器响;于是再把这堆书分成两堆…… 最终,检测了 logN 次之后,保安成功的找到了那本引起警报的书,露出了得意和嘲讽的笑容。于是小明背着剩下的书走了。 从此,图书馆丢了 N - 1 本书。 题目:给定一个 n 个元素有序的原创 2022-03-25 17:20:27 · 389 阅读 · 0 评论 -
算法积累-02
今天介绍用双指针来实现归并排序,先看题目: 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。例如: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 我们要知道,原数组里有正负数和0,这导致了它们平方后原来的数组就不再有序。 如果没接触过双指针,我们的第一想法就是先把数组里的数经过平方之后,再对数组进行排序,这也是一种方法,至少解决了问题。但当解决问题的方法不止一种的时候,我们就要考虑哪一种最合适原创 2022-04-02 12:33:44 · 84 阅读 · 2 评论 -
华为算法刷体积累(入门)
1-取近似值写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。 2-提取不重复的整数输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。保证输入的整数最后一位不是 0 3-截取字符串输入一个字符串和一个整数 k ,截取字符串的前k个字符并输出 4-输入n个整数,输出其中最小的k个输入n个整数,找出其中最小的k个整数并按升序输出 5-输入整型数组和排序标识,对其元素按照升序或原创 2022-06-22 19:33:27 · 117 阅读 · 0 评论