丢失的三个元素、网格走法
2017-08-30 08:51
106 查看
/
*1、题目描述
现在有一个数组,其值为从1到10000的连续增长的数字。出于某次偶然操作,导致这个数组中丢失了某三个元素,同时顺序被打乱,现在需要你用最快的方法找出丢失的这三个元素,并且将这三个元素根据从小到大重新拼接为一个新数字,计算其除以7的余数。 例:丢失的元素为336,10,8435,得到的新数字为103368435,除以七的余数为2。
输入描述:
输入数据为一行,包含9997个数字,空格隔开。
输出描述:
输出为一行,包含一个数字。
示例1
输入
同题设例子输入
输出
2**
*
*/
/**
***2、有一个X*Y的网格,小团要在此网格上从左上角到右下角,只能走格点且只能向右或向下走。请设计一个算法,计算小团有多少种走法。给定两个正整数int x,int y,请返回小团的走法数目。
输入描述:
输入包括一行,逗号隔开的两个正整数x和y,取值范围[1,10]。
输出描述:
输出包括一行,为走法的数目。
示例1
输入
3 2
输出
10**
*
*/
*1、题目描述
现在有一个数组,其值为从1到10000的连续增长的数字。出于某次偶然操作,导致这个数组中丢失了某三个元素,同时顺序被打乱,现在需要你用最快的方法找出丢失的这三个元素,并且将这三个元素根据从小到大重新拼接为一个新数字,计算其除以7的余数。 例:丢失的元素为336,10,8435,得到的新数字为103368435,除以七的余数为2。
输入描述:
输入数据为一行,包含9997个数字,空格隔开。
输出描述:
输出为一行,包含一个数字。
示例1
输入
同题设例子输入
输出
2**
*
*/
public class MixThree { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Scanner in = new Scanner(System.in); int[] a = new int[10001]; for (int i = 1; i <= 9997; i++) { int res=in.nextInt(); a[res] = res; } games(a); } private static void games(int[] a) { ArrayList<Integer> arr=new ArrayList<Integer>(); for(int i=1;i<a.length;i++){ if(a[i]==0){ arr.add(i); } } StringBuilder resBuilder=new StringBuilder(); for(int i=0;i<3;i++){ resBuilder.append(arr.get(i)); } // for(Integer in :arr){ // resBuilder.append(in); // } String resString=resBuilder.toString(); System.out.println(Long.valueOf(resString)%7); } }
/**
***2、有一个X*Y的网格,小团要在此网格上从左上角到右下角,只能走格点且只能向右或向下走。请设计一个算法,计算小团有多少种走法。给定两个正整数int x,int y,请返回小团的走法数目。
输入描述:
输入包括一行,逗号隔开的两个正整数x和y,取值范围[1,10]。
输出描述:
输出包括一行,为走法的数目。
示例1
输入
3 2
输出
10**
*
*/
public class WalkBlock { //思路是动态规划,f(m,n)网格走法可以分解成f(m-1,n)+f(m,n-1),依次递归即可) /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Scanner in = new Scanner(System.in); // String xyString=in.nextLine(); // String[] aStrings=xyString.split(","); // int x = Integer.valueOf(aStrings[0]); // int y =Integer.valueOf(aStrings[1]); int x = in.nextInt(); int y = in.nextInt(); System.out.println(game(x, y)); } private static long game(int x, int y) { if (x == 0 || y == 0) { return 1; } else { return game(x - 1, y) + game(x, y - 1); } } }
相关文章推荐
- 面向对象的三个基本元素和五个基本原则
- J2EE学习笔记之JSP常用三个指令元素
- NetAdvantage开发jQuery响应式网格的三个小窍门
- C++之求取vector中三个元素和和给定元素最接近的值(15)---《那些奇怪的算法》
- 4种方法生成三个并排的大小相等的元素
- List、Map、Set三个接口,存取元素时,各有什么特点?
- List、Map、Set三个接口,存取元素时,各有什么特点?
- C++输入一组数据,降序排列后,删除三个连续元素的中间值
- List、Map、Set 三个接口,存取元素时,各有什么特点?
- 查找三个数组中的共有元素
- 定义container元素的时候,有三个条件必须遵守
- 生成三个并排的大小相等的元素
- List、Map、Set三个接口,存取元素时,各有什么特点?
- 1378 求三个数组中的共同元素 C语言
- 面向对象的三个基本元素,五个基本原则
- List、Map、Set三个接口,存取元素时,各有什么特点?
- 不正确的使用HashMap引发死循环及元素丢失
- 腾讯(求丢失的元素)
- List、Map、Set三个接口,存取元素时,各有什么特点?
- unity5.4版本打包AssetBundle与加载(避免材质丢失网格丢失)