- 博客(92)
- 收藏
- 关注
原创 随机生成一个小于等于N的数
给定你一个方法,该方法可以随机生成一个0或者1,让你通过这个方法,随机生成一个小于N的数 private static int method() { int result = 0; outer: while (true) { result = 0; int i; for (i = 0; i < 5; i++) { int n = (int) (Math.ran
2016-09-06 11:02:26
1655
原创 幸运数字---京东2017年在线笔试题
题目描述:4和7是两个幸运数字,我们定义,十进制表示中,每一位只有4和7两个数的正整数都是幸运数字,前几个幸运数字为:4,7,44,47,74,77,444,447······输入:第一行一个数字T(T 输出:每组数据输出一行,第K个幸运数字样例输入:351001000000000样例输出:747447477747774477
2016-09-06 10:41:18
2298
原创 设计模式----工厂模式
我们平时出行可以选择的交通工具有汽车、飞机等,假如我们出去旅行,想要选择汽车作为交通工具,我们可以这么写:1、我们定义一个汽车类(这里使用的是单例模式创建Car,单例模式下可以确保Car类只有一个实例,而且自行实例化,并向整个系统提供这个实例,其它类要生成Car类的实例,只需要调用Car类的getInstance()方法):public class Car{
2016-08-25 22:25:06
432
原创 Comparable 和 Comparator的区别
在使用集合收集对象之后,如果相对对象进行排序,我们可以使用java.util.Collections中的sort()方法,因为必须有索引才能进行排序,所以Collections的sort()方法就受List操作对象。使用sort()方法只能按照它提供的排序方法对对象进行排序,如果想自己定义排序规则,可以操作java.util.Comparable中的compareTo()方法,或者java.uti
2016-08-01 17:46:02
402
原创 Iterable 和 Iterator 的区别
Iterator在List、Set、Queue里面都有一个iterator()方法,这个方法在JDK5出现之前,是定义在Collection接口中,而List、Set、Queue都继承自Collecition,所以也都拥有iterator()的方法。iterator()方法会返回java.util.Iterator接口的操作对象,
2016-08-01 17:14:17
763
原创 数据库三范式简介
第一范式(1NF):要求:数据库中的所有字段都不可分,即数据库中的每个字段都要满足原子性。在关系型数据库中,第一范式是对关系模式的基本要求,不满足第一范式的数据库就不是关系数据库第二范式(2NF):要求:表中的每列都要与主键相关,不能只跟主键的某一部分相关。即一个表只能说明一个事物。例(不符合第二范式):学生表:学号、姓名、年龄、课程名称、成绩、学分;上面这个学生表中就
2016-07-31 21:13:09
488
原创 华为OJ 初级:字符串最后一个单词的长度
描述计算字符串最后一个单词的长度,单词以空格隔开。知识点字符串,循环运行时间限制0M内存限制0输入一行字符串,长度小于128。输出整数N,最后一个单词的长度。样例输入hello world样例输出
2016-07-31 16:06:36
341
原创 华为OJ 初级:合唱队
描述计算最少出列多少位同学,使得剩下的同学排成合唱队形说明:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足存在i(1Ti+1>......>TK。 你的任务是,已知所有N位同学的身高,计算最少需要几位同学出
2016-07-31 15:54:08
419
原创 华为OJ 初级:图片整理
描述Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。 知识点字符串运行时间限制0M内存限制0输入Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或数字
2016-07-31 14:17:16
424
原创 华为OJ 初级:名字的漂亮度
描述给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。给出多个名字,计算每个名字最大可能的“漂亮度”。知识点字符串运行时间限制0M内存限制0输入
2016-07-31 14:05:15
324
原创 华为OJ 初级:(练习用)挑7
描述输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37...70,71,72,73...)的个数知识点循环运行时间限制0M内存限制0输入一个正整数N。(N不大于30000)输出不大于N的与7有关的数字个数,例如输入20,与7有关的
2016-07-31 13:03:43
511
原创 华为OJ 中级:汽水瓶
描述有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
2016-07-31 12:26:27
573
原创 华为OJ 中级:字符串排序
描述编写一个程序,将输入字符串中的字符按如下规则排序。规则1:英文字母从A到Z排列,不区分大小写。 如,输入:Type 输出:epTy规则2:同一个英文字母的大小写同时存在时,按照输入顺序排列。 如,输入:BabA 输出:aABb规则3:非英文字母的其它字符保持原来的位置。 如,输入:By?e 输出:Be?y样例: 输入: A Famous Saying:
2016-07-31 11:27:38
1607
原创 华为OJ 初级:字符串加解密
描述题目描述1、对输入的字符串进行加解密,并输出。2加密方法为:当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;其他字符不做变化。3、解密方法为加密的逆过程。 接口描述: 实现接口,每个接口实现1个基本操作:void Encrypt (char aucPass
2016-07-31 00:49:57
372
原创 华为OJ 初级:蛇形矩阵
描述题目说明蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 样例输入5样例输出1 3 6 10 152 5 9 144 8 137 1211接口说明原型void GetResult(int Num, char * pResult);输入参数: int Num:输入的正整数N输出参数: int * pResult:指向存放蛇形矩阵的字符串指针
2016-07-30 23:39:57
1012
原创 华为OJ 初级:字符串加密
描述有一种技巧可以对数据进行加密,它使用一个单词作为它的密匙。下面是它的工作原理:首先,选择一个单词作为密匙,如TRAILBLAZERS。如果单词中包含有重复的字母,只保留第1个,其余几个丢弃。现在,修改过的那个单词死于字母表的下面,如下所示:A B C D E F G H I J K L M N O P Q R S T U V W X Y ZT R A I L B Z E S C D F
2016-07-30 17:32:47
417
原创 华为OJ 初级:判断两个IP是否属于同一子网
述子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。子网掩码与IP地址结构相同,是32位二进制数,其中网络号部分全为“1”和主机号部分全为“0”。利用子网掩码可以判断两台主机是否中同一子网中。若两台主机的IP地址分别与它们的子网掩码相“与”后的结果相同,则说明这两台主机在同一子网中。示例:I P 地址 192.168.0.1子网掩码 255.255.255.0转化为二
2016-07-30 16:47:36
494
原创 华为OJ 初级:输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
描述输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。 /** * 统计出英文字母字符的个数。 * * @param str 需要输入的字符串 * @return 英文字母的个数 */ public static int getEnglishCharCount(String str) { retur
2016-07-30 15:50:51
518
原创 华为OJ 初级:称砝码
描述现有一组砝码,重量互不相等,分别为m1、m2……mn;他们可取的最大数量分别为x1、x2……xn。现在要用这些砝码去称物体的重量,问能称出多少中不同的重量。 注:称重重量包括0要对输入数据进行校验 方法原型:public static int fama(int n, int[] weight, int[] nums)知识点字符串,循环,函数,指针,枚举,位运
2016-07-30 15:37:49
401
原创 华为OJ 初级:学英语
描述Jessi初学英语,为了快速读出一串数字,编写程序将数字转换成英文:如22:twenty two,123:one hundred and twenty three。 说明:数字为正整数,长度不超过十位,不考虑小数,转化结果为英文小写;输出格式为twenty two;非法数据请返回“error”;关键字提示:and,billion,million,thousand,hundred。 方法
2016-07-30 15:14:34
559
原创 华为OJ 初级:多线程
描述问题描述:有4个线程和1个公共的字符数组。线程1的功能就是向数组输出A,线程2的功能就是向字符输出B,线程3的功能就是向数组输出C,线程4的功能就是向数组输出D。要求按顺序向数组赋值ABCDABCDABCD,ABCD的个数由线程函数1的参数指定。[注:C语言选手可使用WINDOWS SDK库函数]接口说明:void init(); //初始化函数void Release(); //资
2016-07-30 14:38:35
508
原创 华为OJ 初级:输出单向链表中倒数第k个结点
描述输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针。链表结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};详细描述:接口说明原型:ListNode* FindKthToTail(ListNode* pListHead, unsignedint k);输入参数:
2016-07-30 13:51:50
311
原创 华为OJ 初级:iNOC产品部-杨辉三角的变形
描述 1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 11 4 10 16 19 16 10 4 1以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。求第n行第一个偶数出现的位置。如果没有偶数,则输
2016-07-30 11:42:31
463
原创 华为OJ 初级:iNOC产品部--完全数计算
描述完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。给定函数count(int n),用于计算n以内(含n)完全数的个数。计算范围, 0 返回n以内完全数的个数。异常情况返回-
2016-07-30 11:17:39
357
原创 华为OJ 初级:输入n个整数,输出其中最小的k个
描述输入n个整数,输出其中最小的k个。详细描述:接口说明原型:bool GetMinK(unsignedint uiInputNum, int * pInputArray, unsignedint uiK, int * pOutputArray);输入参数: unsignedint uiInputNum //输入整数个数int * pInputArray //输入整数数组unsi
2016-07-30 11:02:56
462
原创 华为OJ 初级:找出字符串中第一个只出现一次的字符
述找出字符串中第一个只出现一次的字符详细描述:接口说明原型:bool FindChar(char* pInputString, char* pChar);输入参数:char* pInputString:字符串输出参数(指针指向的内存区域保证有效):char* pChar:第一个只出现一次的字符如果无此字符 请输出'.' 知识点字符串,循环运行
2016-07-30 10:50:32
251
原创 华为OJ 初级:查找组成一个偶数最接近的两个素数
述任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对 请实现如下接口 public static class PrimePair { public int primeMin; public int primeMax; } public static PrimePai
2016-07-29 22:09:16
275
原创 华为OJ 初级:放苹果
描述题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 输入每个用例包含二个整数M和N。0 样例输入7 3 样例输出8 /** * 计算放苹果方法数目 * 输入值非法时返回-1 * 1 * @param m 苹果数目 * @param n 盘子数目数
2016-07-29 21:35:40
315
原创 华为OJ 初级:查找输入整数二进制中1的个数
描述请实现如下接口 public static int findNumberOf1(intnum) { /* 请实现 */ return 0; }譬如:输入5 ,5的二进制为101,输出2 涉及知识点:位运算知识点位运算运行时间限制10M内存限制128输
2016-07-29 20:42:11
345
原创 华为OJ 初级:DNA序列
描述一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例(定义为GC-Ratio)是序列中G和C两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为高的GC-Ratio可能是基因的起始点。给定一个很长的DNA序列,以及要求的最小子序列长度,研究人员经常会需要在其中找出GC-Ratio最高的子序列。 知识点字
2016-07-29 20:32:19
1142
原创 华为OJ 初级:24点游戏算法
描述问题描述:给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利输入:4个1-10的数字。[数字允许重复,测试用例保证无异常数字]输出:true or false知识点循环运行时间限制10M内存限制128输入输入4个int整数输出返回能否得到24
2016-07-29 20:11:28
2592
原创 华为OJ 初级:字符串通配符
描述问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。要求:实现如下2个通配符:*:匹配0个或以上的字符(字符由英文字母和数字0-9组成,不区分大小写。下同)?:匹配1个字符输入:通配符表达式;一组字符串。输出:返回匹配的结果,正确输出true,错误输出false知识点字符串
2016-07-29 15:45:57
467
原创 华为OJ 初级:矩阵乘法
描述如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的: 原型:voidmatrix_multiply(int *m1,int *m2,int *r, int x, int y, int z);输入参数: int *m1:x行y列的矩阵(array1[x][y]) int *m2:y行z列的
2016-07-29 15:23:45
488
原创 华为OJ 初级:百钱买百鸡问题
述公元前五世纪,我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?详细描述:接口说明原型:int GetResult(vector &list)输入参数: 无输出参数(指针指向的内存区域保证有效): list 鸡翁、鸡母、鸡雏组合的列表返回值: -1 失败
2016-07-29 14:56:26
567
原创 华为OJ 初级:公共字串计算
题目标题:计算两个字符串的最大公共字串的长度,字符不区分大小写详细描述:接口说明原型:int getCommonStrLength(char * pFirstStr, char * pSecondStr);输入参数: char * pFirstStr //第一个字符串 char * pSecondStr//第二个字符串 知识点字符串,查找
2016-07-29 11:43:23
258
原创 华为OJ 初级:尼科彻斯定理
描述验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。例如:1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 接口说明原型: /* 功能: 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。 原型: int GetSequeOddNum(int m,char * pcSequeOddNum); 输入参数:
2016-07-29 10:12:48
458
原创 华为OJ 初级:超长正整数相加
描述请设计一个算法完成两个超长正整数的加法。 接口说明 /* 请设计一个算法完成两个超长正整数的加法。 输入参数: String addend:加数 String augend:被加数 返回值:加法结果 */ public String AddLongInteger(String addend, String augend) { /*在这里实现功能*/ return nul
2016-07-29 09:27:10
257
原创 华为OJ 初级:计算字符串的相似度
描述对于不同的字符串,我们希望能有办法判断相似程度,我们定义了一套操作方法来把两个不相同的字符串变得相同,具体的操作方法如下:1 修改一个字符,如把“a”替换为“b”。2 增加一个字符,如把“abdd”变为“aebdd”。3 删除一个字符,如把“travelling”变为“traveling”。比如,对于“abcdefg”和“abcdef”两个字符串来说,我们认为可以通过增加和减少一个“g
2016-07-29 09:12:47
724
原创 华为OJ 初级:整形数组合并
描述题目标题:将两个整型数组按照升序合并,并且过滤掉重复数组元素详细描述:接口说明原型:voidCombineBySort(int* pArray1,intiArray1Num,int* pArray2,intiArray2Num,int* pOutputArray,int* iOutputNum);输入参数: int* pArray1 :整型数组1 intiArray1Nu
2016-07-29 08:59:47
260
原创 华为OJ 初级:字符串匹配
描述题目标题:判断短字符串中的所有字符是否在长字符串中全部出现详细描述:接口说明原型:boolIsAllCharExist(char* pShortString,char* pLongString);输入参数: char* pShortString:短字符串 char* pLongString:长字符串 知识点字符串,循环,指针
2016-07-29 08:45:38
335
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人