Java算法
故剑何寻
只有在有起伏的道路,才能看到更多的风景。
展开
-
排列序数
排列序数 * X星系的某次考古活动发现了史前智能痕迹。 * 这是一些用来计数的符号,经过分析它的计数规律如下: *(为了表示方便,我们把这些奇怪的符号用a~q代替) * abcdefghijklmnopq 表示0 * abcdefghijklmnoqp 表示1 * abcdefghijklmnpoq 表示2 * abcdefghijklmnpqo 表示3 * abc原创 2017-03-18 17:52:58 · 430 阅读 · 0 评论 -
剑指offer 字符串
题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 方法一: 有点取巧,Java自带的函数 public class Solution { public String replaceSpace(StringBuffer str) { ...原创 2018-04-06 17:00:14 · 174 阅读 · 0 评论 -
剑指offer 二维数组中的查找
题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路一: 每一行是递增的顺序序列 利用二分查找,遍历每一行 public class Solution { public boolean Find(int target, int [][] array...原创 2018-04-06 16:12:32 · 162 阅读 · 0 评论 -
蓝桥杯java 基础练习 回形取数
问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。 输入格式 输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。 输出格式 输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。 样例输入 3 3 1 2 3...原创 2018-02-25 16:00:25 · 1219 阅读 · 2 评论 -
蓝桥杯java 算法训练 未名湖边的烦恼
问题描述 每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。 每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法) 输入格式 两个整数,表示m和n 输出格...原创 2018-02-25 15:51:21 · 660 阅读 · 0 评论 -
Java算法 rqy
题目描述 rqy在和妹子约会,突然女票打来电话。rqy骗女票他在写代码。女票为了证实,问他键盘上F键左边是哪个键。 你能否帮助rqy回应女票的质问?不然他可就要写思想汇报了… 输入 输入数据第一行是一个整数 T(1≤T≤10000),表示测试数据的组数。 之后每一行先是一个大写字母X ,之后为一个字符串Left或Right,分别表示询问X键的左边或右边是哪个键。 输出 如果结果为一个原创 2018-01-30 11:27:50 · 696 阅读 · 0 评论 -
java算法 牌型种数
牌型种数 小明被劫持到X赌城,被迫与其他3人玩牌。 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢? 请填写该整数,不要填写任何多余的内容或说明文字。 一、暴力破解 public static void ma原创 2018-01-30 11:23:11 · 676 阅读 · 0 评论 -
蓝桥杯java 算法提高 摆花
问题描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆。通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号。为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时同一种花放在一起,且不同种类的花需按标号的从小到大的顺序依次摆列。 试编程计算,一共有多少种不同的摆花方案。 输入格式 第一行包含两个正整数n和m,中间用一个空格隔开。原创 2018-01-25 10:18:50 · 858 阅读 · 0 评论 -
蓝桥杯java 基础练习 芯片测试
问题描述 有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。 每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。 给出所有芯片的测试结果,问哪些芯片是好芯片。 输入格式 输入数据第一行为一个整数n,表示芯片个数。 第原创 2018-01-25 10:14:07 · 1096 阅读 · 0 评论 -
蓝桥杯java 基础练习 Huffuman树
问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa + pb。 2. 重复步骤1,直到{p原创 2018-01-23 22:41:16 · 769 阅读 · 0 评论 -
高精度运算
问题描述 输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。 定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。 计算c = a + b的时候,首先将A[0]与B[0]相加,如果有进原创 2017-03-19 12:00:02 · 255 阅读 · 0 评论 -
杨辉三角 Java算法
问题描述 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1 1 3 3 1 给出n,输出它的前n行。 输入格式原创 2017-03-19 11:51:58 · 575 阅读 · 0 评论 -
Java 账户 ,存款、取款
编制基本账户类,属性有账号、密码、余额,能存款和取款。并编制简单测试类验证方法是否正确。 Bank类 public class Bank { private String acount; private String password; private double balance; public Bank() { acount="123123"; passw原创 2017-03-18 19:46:32 · 3050 阅读 · 0 评论 -
剑指offer 从尾到头打印链表
题目描述 输入一个链表,从尾到头打印链表每个节点的值。 方法一: 利用栈的“后进先出” /** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * this.val = val; * ...原创 2018-04-07 11:40:45 · 133 阅读 · 2 评论