Java算法
文章平均质量分 63
yayun0516
Android开发
展开
-
Java实现算法之--选择排序
选择排序也是比较简单的一种排序方法,原理也比较容易理解,它与冒泡排序的比较次数相同,但选择排序的交换次数少于冒泡排序。冒泡排序是在每次比较之后,若比较的两个元素顺序与待排序顺序相反,则要进行交换,而选择排序在每次遍历过程中只记录下来最小的一个元素的下标,待全部比较结束之后,将最小的元素与未排序的那部分序列的最前面一个元素交换,这样就降低了交换的次数,提高了排序效率。看一下实现代码:public c原创 2015-08-09 20:05:22 · 1105 阅读 · 0 评论 -
上机题目(中级)-可怕的阶乘(Java)
题目如下:代码如下:package huawei;import java.util.ArrayList;public final class Demo { public static String calcNN(int n) { ArrayList a = new ArrayList(); a.add(1); int carry原创 2016-01-10 15:55:39 · 1577 阅读 · 1 评论 -
上机题目(中级)-判断自守数(Java)
题目如下:代码如下:package huawei;public final class Demo { /* Description 判断是否是自守数 Prototype public static boolean isAutoMorphicNum(int num) Input Param num 需要判断的数 Ou原创 2016-01-10 15:25:08 · 3030 阅读 · 0 评论 -
上机题目(中级)-判断一个点是否在三角形内(Java)
题目如下:代码如下:package huawei;public final class Demo { public static boolean isInTriangle(POINT A, POINT B, POINT C, POINT P) { double ABC = triAngleArea(A, B, C); double ABp = triAngleArea(A, B,原创 2016-01-10 14:56:21 · 2674 阅读 · 0 评论 -
上机题目(初级)-整型数排序(Java)
题目如下:代码如下:package huawei;import java.util.HashMap;import java.util.Map;import java.util.Scanner;public final class Demo { /**********************************************************************原创 2016-01-10 11:38:05 · 1513 阅读 · 0 评论 -
上机题目(初级)-小明的筷子(Java)
题目如下:代码如下:package huawei;import java.util.HashMap;import java.util.Map;import java.util.Scanner;public class Demo { public static int checkChopsticks(int[] chopsticks) { /* * map的key作为筷子的原创 2016-01-10 11:10:54 · 2237 阅读 · 0 评论 -
上机题目(初级)-计算两个正整数的最大公约数和最小公倍数(Java)
题目如下:代码如下:package huawei;import java.util.Scanner;public final class Demo { // 功能:获取两个整数的最大公约数 // 输入:两个整数 // 返回:最大公约数 public static long getMaxDivisor(long lFirstInput, long lSecondInput) {原创 2016-01-10 10:49:02 · 2776 阅读 · 0 评论 -
上机题目(高级)- 两个超级大的整数相减 -运用Java 类解决(Java)
题目如下:代码如下:package huawei;import java.math.BigDecimal;public final class Demo { public static void main(String[] args) { String a="1223424324324317.1234"; String b="47.1234"; String ans原创 2016-01-18 21:11:33 · 2485 阅读 · 1 评论 -
上机题目(中级)- 两个超级大的整数相加相减 (Java)
代码如下:public class AddSub { public static void main(String[] args) { String a="4632864832684683568465765487657665765236465244"; String b="47"; int []pa=stringToInts(a); int []pb=stringToInt原创 2016-01-18 12:17:57 · 3047 阅读 · 1 评论 -
上机题目(中级)- 将数组中的字符串按指定长度重新分割 (Java)
题目如下:代码如下:package huawei;import java.util.ArrayList;public final class Demo{ /* * 功能:请编写一个函数,输入为一个字符串数组, * 请按指定长度iInputLenth拆分数组中的每个字符串,输出到新的字符串数组中。长度不是iInputLenth整数倍的字符串请在后面补数字0。 * 空字符串不处原创 2016-01-18 11:30:26 · 2698 阅读 · 0 评论 -
上机题目(中级)- 用小数形式输出指定符号出现的频率 (Java)
题目如下:代码如下:package huawei;import java.math.BigDecimal;public final class Demo { /* * 功能: 输入的基准字符串中统计指定字符出现的频率 字符串仅包括英文大小写字母和空格、逗号、点号 小数点后保留2位有效数字,第三位四舍五入 * * 输入: String pString 输入的基准字符串 ch原创 2016-01-18 10:58:29 · 1260 阅读 · 0 评论 -
上机题目(初级)-高次方数的尾数(Java)
题目如下:代码如下:package huawei;public final class Demo { /* 功能: 求解M的N次方的最后三位数(M,N均大于10) 输入参数: int M:M > 10 int N:N > 10 返回值: M的N次方的最后三位数 */ public static int getLast3DigitsOfMN(int M原创 2016-01-17 21:31:51 · 2005 阅读 · 0 评论 -
Java实现算法之--求子数组和的最大值
一般C和C++在算法实现中使用较多,下面我们通过java语言实现算法,更有亲切感。题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。实现代码:public static转载 2015-08-06 21:36:11 · 2702 阅读 · 2 评论 -
Java实现算法之--二分查找法
/** * 执行递归二分查找,返回第一次出现该值的位置 * @param sortedData 已排序的数组 * @param start 开始位置 * @param end 结束位置 * @param findValue 需要找的值 * @return转载 2015-08-06 21:39:36 · 1018 阅读 · 1 评论 -
上机题目(初级)-大数求和
描述: 给定两个非常大的正整数A和B,位数在50至100之间。求C=A+B; 题目类别: 字符串 难度: 中级 运行时间限制:10Sec内存限制:128MByte阶段: 入职前练习 输入: 因为A和B很大,从高位到低位,以字符串的形式输入两行数字A和B。A和B的位数在50至100之间。 输出: 以字符串形式,输出一行,表示A和B的和。 样例输入:11111111111111111111111111原创 2016-05-07 19:41:21 · 3441 阅读 · 0 评论