算法
文章平均质量分 78
ayue521
这个作者很懒,什么都没留下…
展开
-
计算从1到N中1的出现次数
给定一个十进制整数N,求出从1到N的所有整数中出现"1"的个数。例如:N=2,1,2出现了1个"1"。N=12,1,2,3,4,5,6,7,8,9,10,11,12。出现了5个"1"。最直接的方法就是从1开始遍历到N,将其中每一个数中含有"1"的个数加起来,就得到了问题的解。01public long CountOne3(long n转载 2017-03-09 14:32:11 · 1026 阅读 · 0 评论 -
八大种排序算法【java实现】
一、冒泡排序 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 冒泡排序的示例:冒泡排序的算法实现如下:【排序后,数组从小到大排列】 /* *转载 2017-03-10 14:30:05 · 258 阅读 · 0 评论 -
交换两个数组使两个数组和的差最小
今天又看见了这个题目,好像上次是李灾跟我说腾讯面他的时候问了这个问题的。想了半天,在网上也看了半天,发现一个不错的算法,先帖出来:^ ^ /* 有两个数组a,b,大小都为n,数组元素的值任意整形数,无序; 要求:通过交换a,b中的元素,使[数组a元素的和]与[数组b元素的和]之间的差最小。*//* 求解思路: 当前数组a和数组转载 2017-03-06 21:25:39 · 855 阅读 · 0 评论 -
时间复杂度和空间复杂度详解
算法的时间复杂度和空间复杂度合称为算法的复杂度。1.时间复杂度(1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频转载 2017-03-10 15:21:25 · 244 阅读 · 0 评论 -
阿里在线编程,去除三个元素,四等分数组问题!
/** * Created by lw_co on 2017/3/3. */import java.util.*;publicclassSolution{/** 请完成下面这个函数,实现题目要求的功能 **//** 当然,你也可以不按照这个模板来作答,完全按照自己的想法来 ^-^ **//** * * 对于一个长度为N的整型数组A, 数组里所有的数都是正转载 2017-03-07 19:49:06 · 1292 阅读 · 0 评论 -
常用排序算法总结
目录冒泡排序 鸡尾酒排序 选择排序插入排序二分插入排序 希尔排序 归并排序堆排序快速排序 我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。 排序算法大体可分为两种: 一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排转载 2017-05-02 12:02:44 · 259 阅读 · 0 评论 -
Java经典问题算法大全
Java经典问题算法大全/*【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... */package cn.com.flywater.FiftyAlgorthm;public class Fir转载 2017-07-24 15:03:11 · 366 阅读 · 0 评论 -
Java 经典算法笔试面试题目十题
Java 经典算法笔试面试题目十题以下十个题目为本人总结的一些曾经碰到过的Java算法题目,为原创内容,如有错误或者不足之处,欢迎指正,欢迎转载,转载请注明出处。package java_algorithm;import java.util.Scanner;/** * 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 * 程序分原创 2017-07-25 15:18:58 · 1905 阅读 · 0 评论