
算法
骆驼绵羊
不像程序猿的猿
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
递归实现字符串反向输入
题目:编写一个递归函数,实现将呼入的任意长度的字符串反向输出的功能,如输入abcd则输出dcba;思考列表内容若不用递归,则直接存储于数组反向输出,或栈,但需要动态申请内存;递归思路: 以输入“#”为输入结束条件void print(){ char a; scanf("%c" , &a); if(a!='#')print(); if(a!='#')pri原创 2016-03-14 17:05:20 · 1116 阅读 · 0 评论 -
求一个正整数可以由几对素数构成
鹅肠的笔试....如10,就有(3,7),(5,5)输出2public class case21 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n =sc.nextInt(); int result=0; //从2开始查找到n/2,防止多原创 2016-09-11 21:05:36 · 464 阅读 · 0 评论 -
Java判断字符串是否回文
new StringBuilder(str).reverse().toString().equals(str)原创 2016-09-12 20:47:18 · 829 阅读 · 0 评论 -
求二进制数中1的个数
思路一:可以举一个8位二进制例子,对于二进制,除以一个2,原来的数字将会少一个0,若除的过程中有余,则表示当前位置有一个1.以10100010为例,第一次除以2,商为1010001,余0;第二次除以2,商为101000,余为1; private static int count(byte b){ int num=0; while(b!=0){ if(b%2==1)原创 2016-09-03 22:37:59 · 333 阅读 · 0 评论 -
算法题:<将功赎过>
题目:这里最重要的是统计l~r范围内中有没有m个1package NormalIO;import java.util.Scanner;public class case2 { public static void main(String args[]) { Scanner cin = new Scanner(System.in); int l, r,原创 2016-08-13 09:41:42 · 1571 阅读 · 0 评论 -
算法题:字符串分隔填充
牛客的题,自己傻乎乎的写了老长老长一段代码,最好被这段惊呆了,帅!题目如下:import java.util.Scanner;public class case05 { public static void main(String[] args){ Scanner sc = new Scanner(System.in); whil原创 2016-08-14 11:14:27 · 461 阅读 · 0 评论 -
算法题:取近似值
1. public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNextDouble()){ double l=sc.nextDouble(); System.out.println(Math.round(l));原创 2016-08-14 16:02:25 · 1092 阅读 · 0 评论 -
算法题:反转数组
题目如下:《来源赛码网》import java.util.Scanner;/** * 反转数组 * 通过判断反转的次数来进行结果的输出,没有要求输出最后的数组 * 思路:从第一个元素遍历:设置第一个为最大元素:若下一个元素小于此则表示反转了一次 如:6 5 * 若 下下个元素也小于max则没有反转 如 6 5 4 * 若下下个元素大于上一个元素表示也反转了原创 2016-08-15 11:24:26 · 893 阅读 · 1 评论 -
二维有序数组查找
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。* 矩阵是有序的,从左下角来看,向上数字递减,向右数字递增,* 因此从左下角开始查找,当要查找数字比左下角数字大时。右移* 要查找数字比左下角数字小时,上移 public boolean原创 2017-09-11 20:39:42 · 679 阅读 · 0 评论 -
常见的算法实现
1. 求最大公约数 辗转相除法 private static int gcd(int x,int y){ if(x<y) return gcd(y,x); if(y==0) return x; else return gcd(x-y,y); }2. 十进制转换成任意进制 思路: 1、十进制数 num原创 2016-09-09 11:04:29 · 373 阅读 · 0 评论 -
算法——阶乘中含有几个0
题目:给定一个整数N,那么N的阶乘末尾有多少个0。思路:如果N!= k * 10^m ,且k不能被10整除,那么N!的末尾有m个0,再考虑对N!进行质因数分解,N!=(2^x)*(3^y)*(5^z)....,因为10 = 2 * 5,所以M只跟X和Z相关,每一对2 和5 相乘可以得到一个10,于是 M = min(x,z),x大于等于z,因为能被2除尽的数比5度,故只要算出能被5除尽原创 2016-09-04 21:41:57 · 947 阅读 · 0 评论 -
算法之 排序算法 (三) Java
1. 堆的定义 n个元素的序列{K1...Kn}当且仅当满足以下关系或者反过来大于时称之为堆 若将和此序列对应的一维数组(即一维数组作此序列的存储结构)堪称一个完全二叉树,则堆的含义表明:完全二叉树中所有非终端结点的值均不大于(或不小于)其左右孩子节点的值。 若在输出堆顶的最小值后,使得剩余n-1个元素的序列重又建成一个堆,则得到n个元素中的次小值,如此反复执行,便能得到原创 2016-07-11 22:07:45 · 371 阅读 · 0 评论 -
算法之 查找算法 (一) Java
1. 无序链表的顺序查找package rte;/** * 无序链表 * 顺序查找 * @author isc * * @param * @param */public class SequentialSerarch { private Node first;//链表首节点 private class Node{ Key key; Value val;原创 2016-07-13 22:04:44 · 410 阅读 · 0 评论 -
算法之 排序算法 (一) Java
算法入门1、题1:发明于2300多年前的欧几里得算法:计算两个非负整数p和q的最大公约数描述:若q是0,则最大公约数为p,否则,将p除以q得到余数r,p和q的公约数几位q和r的最大公约数(递归) public static int gcd(int p,int q){ if(q==0)return p; int r = p%q; return gcd(q,r)原创 2016-06-29 22:02:34 · 520 阅读 · 0 评论 -
算法之 排序算法 (二) Java
接: http://blog.youkuaiyun.com/luotuomianyang/article/details/517854405.快速排序 基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 快排中,切分的位置取决于数原创 2016-07-04 21:36:27 · 347 阅读 · 0 评论 -
算法题:路灯
题目:思路:对一系列数中,排序后,找到差别最大的相邻两个数差距的一半注意:两个临界值,左右端点,最左灯和最右灯照射范围就是d 了,不是上面的一半了。注意:max必须为double类型的!!!之前定义成int类型的,AC一直是60%...气哭了import java.text.DecimalFormat;import java.util.Ar原创 2016-08-15 15:42:46 · 1767 阅读 · 0 评论 -
算法题:超级楼梯(斐波那契)
题目:分析:1、因为每次只能走 1 步或 2 步,所以从第一级走上第二级只能上 1 步,只有一种走法。 f ( 2 ) = 12、从第一级走到第三级,可以从第一级上 2 步,也可以从第二级上 1 步,有两种走法。 f ( 3 ) = 23、所以,走上第 n 级,可以从第 n-1 级上 1 步,也可以从第 n-2 级上 2 步。 f ( n ) = f ( n原创 2016-08-15 16:14:17 · 1371 阅读 · 2 评论 -
算法题:马路上的路灯<考察重复数据剔除>
题目:思路:1. 建立1到M+1的数组,0表示存在路灯,1表示移除路灯2. 输入数据时:如100 200,则循环把100到200内的路灯标识为1,表示移除,这样做的好处是不用考虑下面的重复,下面即使有重复数据,也会覆盖为1;3.输出为0的路灯个数即可。import java.util.Scanner;public class case13 {原创 2016-08-16 11:21:20 · 655 阅读 · 0 评论 -
算法题:比大小<思路重要>
题目描述现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排列在所有的排列中是第几小的?输入第一行有一个整数n(0<n<=10000);随后有n行,每行是一个排列;样例输入3abcdefghijklhgebkflacdjigfkedhjblcia转载 2016-08-27 22:32:03 · 1643 阅读 · 0 评论 -
杂......
入职一年~还是发现算法功底太弱了,基础知识不扎实,想 Jmp 还得继续努力下,以后还是深入看下算法啥的 继续努力吧原创 2018-09-07 17:34:52 · 202 阅读 · 0 评论