![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
冬雨春雪
这个作者很懒,什么都没留下…
展开
-
二维数组的转置,并将其按列和行从小到大排列(Java实现)
二维数组的转置,并将其按列从小到大排列,并按行从小到大排列原创 2021-06-13 13:04:47 · 1361 阅读 · 1 评论 -
for循环中++i 和 i++ 的区别
for循环中++i 和 i++ 的区别原创 2021-04-21 08:57:36 · 381 阅读 · 0 评论 -
力扣:905按奇偶数排序(Java)
力扣:905按奇偶数排序现在的自己不配喊累,因为你一无所有。题目描述:给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。题目解析:只要偶数在前,奇数在后,无需排序,new一个数组设置两个指针,一个指向开始索引,另一个指向最后一个索引代码:class Solution { public int[] sortArrayByParity(int[] A) { if(A.length<1){ r原创 2021-04-12 21:15:11 · 160 阅读 · 1 评论 -
牛客网:NC105二分查找(Java)
剑指offer:56二分查找做最好的今天,回顾最好的昨天,迎接最美好的明天。题目描述:请实现有重复数字的升序数组的二分查找给定一个 元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1题目分析:一定一定一定要考虑重复数据错误代码:public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可原创 2021-04-11 23:46:42 · 153 阅读 · 0 评论 -
剑指offer:10斐波那契数列(Java)
剑指offer:10斐波那契数列亲爱的自己,前路迷茫而艰辛,愿你能披荆斩棘,无所畏惧,勇往直前!题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。题目解析:这道题也可以用递归的方法实现,但递归实现有明显的缺点:运行慢,还会超时,这里运用的是动态规划的方式实现的,在空间上会有一定的优化。核心代码: public int Fibonacci(int n) { if(n<2){原创 2021-04-11 19:37:28 · 122 阅读 · 0 评论 -
剑指offer:27最小的k个数(Java)
剑指offer:27最小的k个数自己选择的路、跪着也要把它走完。题目描述给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组题目解析:先选择一种排序算法将数组排序,之后将所需要的数存入一个集合中,返回集合即可。这里选择的冒泡排序,如果数据量很大时,冒泡排序不适用于这里。核心代码:import java.util.ArrayList;public class S原创 2021-04-10 23:19:07 · 145 阅读 · 2 评论 -
归并排序(Java实现)
归并排序没有伞的孩子必须努力奔跑!归并排序的思想:归并排序:将数组从中间分成前后两部分,然后对前后两部分分别排序,再将排好序的两部分合并到一起,这样整个数组就都是有序的了。归并排序使用的就是分治思想。分治,顾名思义就是分而治之,将一个大问题分解成小的问题来解决。小的问题解决了,大问题也就解决了。分治是一种解决问题的处理思想,递归是一种编程技巧大规模问题,肯定有一个对应的小问题,这个小问题应该可解。 那么就想怎么将大问题拆分为小问题。 然后是怎么将小问题再合并和复原为大问题。完整代码如下原创 2021-04-10 20:16:51 · 107 阅读 · 0 评论 -
剑指offer:33丑数(Java)
剑指offer:33丑数笑口常开好彩自然来题目描述:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。题目解析:简单来说,丑数=丑数*2(3或5)核心代码:public int GetUglyNumber_Solution(int index) { if(index<=0){ return 0;原创 2021-04-10 11:53:47 · 154 阅读 · 5 评论 -
Java排序算法之快速排序
快速排序是一种分区交换排序算法,是冒泡排序的改进,其采用了分治策略,将问题划分成若干个规模更小但和原问题相似的子问题,然后用递归方法解决了这些子问题,最终将它们组合成员问题的解。原创 2020-10-28 20:17:00 · 93 阅读 · 0 评论