- 博客(71)
- 收藏
- 关注
原创 js函数柯里化
// 在计算机科学中,柯里化(Currying)是把// 接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,// 并且返回接受余下的参数且返回结果的新函数的技术。例如:// sum = curry(function(a,b,c){// return a+b+c// })// sum(1,2,3)// sum(1,2)(3)// sum(1)(2)(3)// sum(1,2)(3) 参数达到时返回结果,否则接受剩余参数// 单一功能的实验.
2020-12-15 13:37:40
257
原创 面试OR笔试9——1121231234
引用lmjy的题目:https://blog.csdn.net/u013949069/article/details/77600384 import java.util.Scanner;public class Main{ public static void main(String[] args) { /* * 题目描述: 0-9的整数按照这样的规律排...
2019-01-25 18:58:27
1010
1
原创 UVA 10763
问题描述:点击打开链接/* 思路:类似于消消乐,若有A->B那么必然要有B->A, 而A->B的数量若有多个,那么B->A的数量必须与A->B的数量相同, 若不满足就为失败 所以输入A->B时,便让该数量加一,而让B->A数量减一, 最后判断数量是否为0便可*/import java.util.HashMap;impor
2017-09-07 16:45:35
471
原创 UVA 10935
问题描述:点击打开链接import java.util.LinkedList;import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner cin = new Scanner(System.in); LinkedList list =
2017-09-05 20:05:02
488
原创 UVA 1594
问题描述:点击打开链接/* 思路:输入T组数据,首先猜测T数值并不大, 输入n元组3 ≤ n ≤ 15,看出最大也就15,而每次走一步也就为n, 最多也就1000步,数值很小所以直接穷举便可,循环节也就可以直接忽略 也可以将每次计算的结果放入set中,只要该结果在出现一次,那么便是循环节*/import java.util.Scanner;
2017-09-03 22:38:28
530
原创 UVA 1593
问题描述:点击打开链接/* 思路:将字符串以二维方式存储,再将每一列的长度最大值取出, 按照长度格式输出便可*/import java.util.ArrayList;import java.util.Scanner;public class Main{ public static void main(String[] args) {
2017-09-03 19:11:23
482
原创 UVA 136
题目描述:点击打开链接/* 思路: 丑数的因子只能为2,3,5,而最小的丑数为1, 所以反过来思考,每次利用最小的丑数乘以2,3,5, 那么得出来的必然都是丑数*/import java.util.TreeSet;public class Main{ public static void main(String[] args) { Tr
2017-08-22 17:08:57
653
原创 计蒜客-作弊揭发者
鉴于我市拥堵的交通状况,市政交管部门经过听证决定在道路两侧安置自动停车收费系统。当车辆驶入车位,系统会通过配有的摄像头拍摄车辆画面,通过识别车牌上的数字、字母序列识别车牌,通过连接车管所车辆信息数据库确认车辆,进行扣费。斗智斗勇的好戏一般从此处展开…一些车主通过在停车时遮挡车牌上的一个或多个数字、字母序列,来阻碍识别系统的识别工作,以此逃避停车费用的缴纳。车主这简直是用轻轻的一挡搞出来
2017-08-20 23:08:09
1093
原创 计蒜客-搜狗输入法的分词算法
搜狗输入法最近的用户输入中出现了一种新的输入模式,形如 “0k1234567”,搜狗的工程师发现这一模式后了解到,这是一种新被提出的对于十五进制数字的标记模式,其中 “0k” 是标记进制为15的前缀标记,之后的部分 “1234567” 是实际的十五进制的数字串。在发现这一标记模式后,搜狗的工程师开始尝试在已有的分词算法上进一步加入对于十五进制数字串的处理,把网页上的这种形式的 15 进制数正确
2017-08-20 00:09:40
717
原创 计蒜客-排序后的数组删除重复数字
给定升序排序的数组,如果数组有 22 个或 22 个以上相同的数字,去掉他们,直到剩下 22 个为止。例如:数组 A[] = [1,1,1,2,2,3]A[]=[1,1,1,2,2,3]你的算法需要返回新数组的长度 55,此时 AA 为 [1,1,2,2,3][1,1,2,2,3]。输入格式第一行输入一个不超过 200200 的数字 nn,第二行输入 A[n]A[n]。
2017-08-18 21:22:40
386
原创 计蒜客-加减乘除
给出一个表达式,其中运算符仅包含 +,-,*,/,^要求求出表达式的最终值在这里,/ 为整除最终结果为正整数,数据保证不需要使用高精度!输入仅一行,即为表达式。输出仅一行,既为表达式算出的结果 结果小于 long int 的最大范围,且整个计算的过程中,也不会超过long int 的最大范围。表达式总长度 \leq 20≤20样例输入2^3+1
2017-08-17 21:57:37
621
原创 计蒜客-神奇的幻方
幻方是一种很神奇的 N \times NN×N 矩阵:它由数字 1,2,3, \ldots , N \times N1,2,3,…,N×N 构成,且每行、每列及两条对角线上的数字之和都相同。当 NN 为奇数时,我们可以通过以下方法构建一个幻方:首先将 1 写在第一行的中间。之后,按如下方式从小到大依次填写每个数 K(K= 2,3, \ldots , N \times N )K(
2017-08-16 22:09:28
768
原创 计蒜客-斐波那契数列
百度熊对数学一直都非常感兴趣。最近在学习斐波那契数列的它,向你展示了一个数字串,它称之为“斐波那契”串:111235813471123581347112358…聪明的你当然一眼就看出了这个串是这么构造的:1. 先写下两位在0~9范围内的数字a, b,构成串ab;2. 取串最后的两位数字相加,将和写在串的最后面。上面百度熊向你展示的串就是取a
2017-08-15 22:21:39
852
原创 UVA 156
题目描述:点击打开链接/* 思路:将每个单词存入list中,再把每个单词的字符重排后存入map中, 以便于排除相同的单词。*/import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java.util.Scanner;import java
2017-08-15 17:34:43
371
原创 NOIP2012普及组-寻宝
题目描述:点击打开链接/* 思路:可以看成是一个多层的约瑟夫环问题*/#include #define N 10005#define M 105 int stairs[N][M]; //是否有楼梯口(0/1)int sign[N][M]; //房间指示牌(走的步数)int f[N]; //每层楼梯口总数(记录每层楼梯口数
2017-08-14 20:23:15
1206
原创 NOIP2012普及组-质因数分解
题目描述:点击打开链接/* 思路:判断i是否为n的因子,是在判断i和n/i是否为质数*/#include int Is_Prime(int n);int main(void){ int n; scanf("%d",&n); for(int i=2;i<=n/2;++i) { if(n%i==0&&Is_Prime
2017-08-14 19:47:24
2729
原创 UVA 10815
题目描述:点击打开链接/* 思路:将文本进行切割后添加到树形集合中*/import java.util.Scanner;import java.util.TreeSet; public class Main{ public static void main(String[] args) { //1.创建空串和树形集合 Scanner cin = ne
2017-08-13 16:54:35
438
原创 UVA 10474
题目描述:点击打开链接/* 思路:输入N个数值,对数值进行排序后,找到Q所在的位置输出 一开始使用二分查找来找Q的位置但不知道为啥WA了 所以就写了一个线性的直接找Q的位置,还在N的数值并不大*/import java.util.Arrays;import java.util.Scanner;public class Main{ publi
2017-08-13 15:31:46
402
原创 计蒜客 - 最长不重复子串
最长不重复子串给定一个字符串,找到最长的子串,要求该子串中没有重复的字符。例如:字符串abcabcbb的不含重复字符的 最长 子串为abc,长度为 33。而bbbbbb的不含重复字符的 最长 子串为b,长度为 11。输入格式输入包含多行,每一行对应一个长度不超过 100100 的输出,直到遇到结束符为止。每行依次输入字符串s。输出格式输出不含重复
2017-05-29 10:49:31
1018
原创 计算器
事源:近期学了一点GUI编程,便折腾了一下,还是有点有趣的,在eclipse上装了WindowBuilder插件,怎么说,感觉不是很好用(小白刚接触,在面板里找不到想要的功能,可能眼瞎)。开怼:总体来说,了解了事件监听机制后,就开始搞事情,听各种dalao蒟蒻说计算器很好做,也是初学者必经之路,所以就开始攻略一下简单计算器(做了后一点都不简单啊,水平不够的关系吧= =)
2017-05-19 20:57:39
572
原创 UVA 133
题目描述:点击打开链接/* 思路:初始化数组,根据输入的数值一步一步移动, 移动到位后,将对应的数值做标记(改为0),假若遇到标记, 便不计数,跳过这个标记继续移动. 依次类推. */import java.util.Scanner;public class Main{ public static void main(String[] args) { Scan
2017-04-29 13:59:13
663
原创 UVA_489
题目描述:点击打开链接/* 思路:由于子串一个字符可以翻起主串所有相同字符, 例如:主串book,子串字符o可以将主串中间的两个o翻起. 所以将主串唯一化存储起来,在用子串字符判断便可. */import java.util.HashSet;import java.util.Scanner; public class Main{ public static void
2017-04-29 10:05:40
458
原创 UVA 1339
题目描述:点击打开链接/* 思路:判断字符串A通过一一映射后,重新排序能否得到字符串B. 由于能够通过映射得到其它字符,所以字符串里是什么字符不重要, 重要的是字符出现的次数。 例如:字符串A="ABC",每个字符出现次数为一次, 字符串B="UIQ",每个字符出现的次数为一次, 所以A->U,B->I,C->Q就能得到字符串B或者A->I,B->U,C->Q重排后
2017-04-27 12:31:31
545
转载 Java常见异常总结
转载地址 1、Java.lang.NullPointerException(空指针异常) 调用了未经初始化的对象或者是不存在的对象经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针, 即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,
2017-04-19 21:00:18
631
原创 UVA 10340
题目描述:点击打开链接/* 思路:输入一个子串,看主串能否组成子串。 所以子串一个一个字符看能不能从主串匹配便可。*/import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.i
2017-04-13 11:55:52
668
原创 计蒜客 - 合法回文
合法回文给定一个字符串,判断是不是回文字符串。只考虑字符串中的数字、字母,并且同一个字母的大写和小写是等价的。例如:A man, a plan, a canal: Panama 是回文。race a car 不是回文。注意:在这道题目中,我们认为 空串是回文字符串。输入格式输入有多行,以 EOF 结束。每行输入一个长度不超过 5005
2017-04-13 11:33:12
1079
原创 计蒜客 - 罗马数字
罗马数字我们今日大多数时候习惯于使用阿拉伯数字,但是同时有时候我们还会使用一种数字——罗马数字。传统罗马数字用单个字母表示特定的数值,I表示1,V表示5,X表示10,L表示50,C表示100,D表示500,M表示1000。最多3个同样的I,X,C或M可以连续出现表示一个数字,V,L,D则不在一个数字中连续出现。例如II表示2,CCC表示300。但是要注意,IIII就不能
2017-04-13 10:34:51
727
原创 计蒜客 - 函数规律
函数规律下面我将描述一个简单的函数:f(8)=2f(16)=1f(32)=0f(2048)=3读入一个x(1≤x≤101000),请你找出f(x)的值。输入包括一行,仅一个数字x。输出包括一行,仅一个数字f(x)。提示:f(0)=1, f(1)=0, f(2)=0, f(3)=0, f(4)=0, f(5)=0,
2017-04-12 21:54:15
892
原创 计蒜客 - 计数和数数
计数和数数“伯爵说”序列如下:1,11,21,1211,111221, \ldots1,11,21,1211,111221,…。其1读作one 1或者11。11读作two 1s或者21。21读作one 2, one 1或者1211。输入格式多组输入,读到文件结束。每组输入给定一个整数 n(1 \leq n \leq 30)n(1≤n≤30)。输出格式
2017-04-10 13:01:58
1355
原创 UVA 1368
题目描述:点击打开链接/* 思路:穷举每一列数量最多的字符,然后链接起来便可。 如果数量相同,按照字典序链接便可。 不同字符个数只需要把字符总量减去每一列最多字符个数便可。 */import java.util.Scanner;public class Main{ public static void main(String[] args) {
2017-04-09 16:38:23
675
原创 UVA 232
题目描述:点击打开链接/* 思路:输入存入二维字符数组里,开辟一个整型二维数组标记一下数组, 只需要判断一下出界的情况还有黑格的情况便可。 横向输出比较简单,判断一下黑格然后获取字符串输出便可。 竖向输出多建立了一个布尔数组,用来判断该字符是否输出过。 该题输出比较麻烦,输出差一点都会PE。 */import java.util.Scanner;public
2017-04-08 22:13:17
595
原创 UVA 227
题目描述:点击打开链接/* 思路:简单的填充数组,查找空格,然后判断移动便可。 */import java.util.Scanner;public class Main{ public static void swap(char arr[][],int x1,int y1,int x2,int y2) { char ch=arr[x1][y1]; arr[
2017-04-08 22:06:08
773
原创 UVA 1586
题目描述:点击打开链接/* 思路:判断字符是数字还是字母,字母返回对应的值(m1), 在判断后一位字符是否为数字,是便累加起来(m2),然后相乘便可。 */import java.util.Scanner;public class Main{ public static double Molar(char ch) { switch(ch) { c
2017-04-06 21:26:43
489
原创 UVA 401
描述题目:点击打开链接/* 思路:回文词,头尾字符依次移动判断是否相同便可。 镜像串,建立镜像串表,将头字符根据镜像串表转换, 然后跟尾字符依次移动判断是否相同便可。 */import java.util.Scanner;public class Main{ public static char Rev(char ch) { String rev="A 3
2017-04-06 19:50:46
537
原创 UVA 455
描述题目:点击打开链接/* 思路:先求取字符串长度,而周期串长度必然是字符串长度的因数。 所以不是字符串长度的因数都可以跳过,而是因数就都尝试。 例如:Str="abcabc"字符串长度为6,假定周期串为第一个字符a(Str[0]),长度为1, 判断时以周期串长度处判断,也就是1(Str[1]字符b), 而匹配时发现a(Str[0])和b(Str[1])不匹
2017-04-06 19:46:04
475
原创 UVA 1584
题目描述:点击打开链接/* 思路:找出最大字符,便可得出最大字符串, 假若最大字符有多个,那么对最大字符后字符依次判断 哪个较大便可。 */import java.util.Scanner;public class UVA_1584 { public static int MaxString(String str,int a,int b) { int n=str.
2017-04-06 16:39:03
719
原创 UVA 1583
题目描述:点击打开链接/* 思路:生成元是 (x本身) + (x各个位置数值) = y 例如:216的生成元是 198 + 1 + 9 + 8 那么穷举出该数+分解这个数便可解。 而由于N的输入最大是100000, 要是每次都穷举必然会超时。 所以将每个数的生成元都存储起来(打表)便可。 */import java.util.Scanner;public class
2017-04-06 16:21:26
634
原创 UVA 1225
题目描述:点击打开链接/* 思路:将序列数值分解,然后根据对应存储便可。 重点最后输出一个空格都不能多。 */import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner cin = new Scanner(System.in); int
2017-04-06 16:06:23
539
原创 UVA 10082
题目描述:点击打开链接/* 思路:建立键盘字符串,暴力匹配字符, 找到便退一位输出,找不到便按原本输出 */import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner cin = new Scanner(System.in); Stri
2017-04-06 16:00:56
763
原创 UVA 340
340 Master-Mind HintsMasterMind is a game for two players. One of them, Designer, selects a secret code. The other, Breaker,tries to break it. A code is no more than a row of colored dots. At
2017-04-05 14:37:24
652
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人