算法题
文章平均质量分 81
子乌来了
这个作者很懒,什么都没留下…
展开
-
【LeetCode】二分法相关
题目一:二分搜索给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。链接:https://leetcode-cn.com/problems/binary-search/思路:这个是最常规的二分法的问题,不断地缩小搜索范围来找到最终的值。以下代码可以作为此类题目的模...原创 2019-10-24 15:53:34 · 290 阅读 · 1 评论 -
【排序算法】归并排序
一:问题使用归并算法对数组进行排序。二:思路归并排序采用了分治的思想,将原来的问题不断地划分,得到小规模的子问题,解决子问题后不断合并,最终得到问题的解。下图为归并排序的图解。三:代码public class MergeSort { public static void main(String[] args) { int n = 100;...原创 2019-10-23 13:44:52 · 150 阅读 · 0 评论 -
斐波那契数列系列题目
一:原题大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39public class Solution { public int Fibonacci(int n) { if(n == 0) { return 0; } else if (n == 1) { ...原创 2019-09-18 09:05:45 · 994 阅读 · 0 评论 -
众数问题(分治法解决)
一:题目给定含有n个元素的多重集合s,每个元素在s中出现的次数称为该元素的重数,多重集s中重数最大的元素称为众数,给定多重集合s,求s中的众数集重数。二:思路首先,我们最容易想到的就是统计每个数的出现次数,然后比较得出结果。这个思路可以利用容器来实现。仔细思考,这道题目还可以用分治法来解决。解决步骤:①给数组排序;②找出中位数v并且确定中位数的个数num和左右边界;...原创 2019-09-26 10:32:26 · 6368 阅读 · 3 评论 -
【排序算法】直接插入排序
一:题目使用插入排序给指定的数组排序。二:思路三:代码public class InsertionSort { public static final int MAXN = 10000; public static int[] a = new int[MAXN]; public static void main(String[] args) { ...原创 2019-10-09 13:19:15 · 137 阅读 · 0 评论