题目描述

小明同学要参加一场考试,考试一共有n道题目,小明必须做对至少60%的题目才能通过考试。考试结束后,小明估算出每题做对的概率,p1,p2,...,pn。你能帮他算出他通过考试的概率吗?
输入

输入第一行一个数n(1<=n<=100),表示题目的个数。第二行n个整数,p1,p2,...,pn。表示小明有pi%的概率做对第i题。(0<=pi<=100)

样例输入

4

50 50 50 50

输出

小明通过考试的概率,最后结果四舍五入,保留小数点后五位。

样例输出

0.31250

时间限制C/C++语言:1000MS其它语言:3000MS
内存限制
package cn.com.jingdong;import java.util.Scanner;public class Main1 {public static void main(String[] args) {Scanner sc =new Scanner(System.in);while(sc.hasNext()){int n = sc.nextInt();double[] p = new double[n];double[][] dp = new double[n+1][n+1];dp[0][0] = 1;for( int i=0;i<n;i++){p[i] = sc.nextInt()/100.0;}for(int i=1;i<=n;i++){dp[i][0] = dp[i-1][0]*(1-p[i-1]);for(int j =1;j<=i;j++){dp[i][j] = dp[i-1][j-1]*p[i-1]+dp[i-1][j]*(1-p[i-1]);}}double result = 0; for(int i =(3*n+4)/5;i<=n;i++){result += dp[n][i];}//           BigDecimal   b   =   new   BigDecimal(result);
//          double   f1   =   b.setScale(5,   BigDecimal.ROUND_HALF_UP).doubleValue(); //四舍五入,保留小数点后5位System.out.println(String.format("%.5f", result)); //四舍五入,保留小数点后5位,以后做题选择这种方式    }}
}
站队(京东2017实习生真题)题目描述

有一条很长的队伍,队伍里面一共有n个人。所有的人分为三类:警察,小偷和普通人。将队伍里面的人从前到后由1到n编号,编号为i的人与编号为j的人的距离为i与j之差的绝对值。每一个警察有一个能力值x,表示他能够监视与他距离不超过x的所有人,小偷被警察发现当且仅当他被一个或多个警察监视到。你知道在整条队伍中,一共有多少个小偷会被警察发现吗?

输入

输入有两行,第一行一个数n(1<=n<=100000),接下来一行有一个长度为n的字符串,依次表示队伍中的每一个人。如果某一位是1-9的某个数字x,表示这一位是一个能力值为x的警察;如果某一位是字符X表示这一位是小偷;如果某一位是字符#表示这是一个普通人。输入保证不会出现其它字符。

样例输入

9

X1X#2X#XX

输出

输出一个数,整条队伍中被警察发现的小偷总数。

样例输出

3

时间限制C/C++语言:2000MS其它语言:4000MS
内存限制C/C++语言:65536KB其它语言:589824KB

方法一:

package cn.com.jingdong;import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class Main2 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();sc.nextLine();String str = sc.nextLine();// 不妨利用数组T(此处用的是list)储存小偷的位置,顺序读取字符串,当读取到X即小偷时,向数组T中记录小偷位置。如:Ti=j表示队列位置j处有一个小偷,该小偷是顺序读取的第i个小偷。List<Integer> list = new ArrayList<Integer>();// 利用数组P记录警察的监视范围,数组P长度和字符串长度相同,初始状态均为0,顺序读取字符串,当遇到数字即警察时,//令:Pjk= 1.....Pj+k= 1表示队列jk到j+k处于监视范围内。j表示警察的位置,k表示警察的监视范围。int[] p = new int[n];for (int i = 0; i < n; i++) {char temp = str.charAt(i);if (temp == 'X') {list.add(i);} else if ('1' <= temp && temp <= '9') {int left = Math.max(0, i - (temp - '0'));int right = Math.min(i + (temp - '0'), n - 1);for (int x = left; x <= right; x++) {p[x] = 1;}}}int count = 0;//如果:PTi= 1表示第i个小偷处于监视范围内。令:count=count+ 1for (int i = 0; i < list.size(); i++) {if (p[list.get(i)] == 1) {count++;}}System.out.println(count);}}

方法二:

package cn.com.jingdong;import java.util.Scanner;public class Main3 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();sc.nextLine();String str = sc.nextLine();char[] a = str.toCharArray();int count = 0;for (int i = 0; i < n; i++) {char temp = a[i];if ('1' <= temp && temp <= '9') {//left,right为警察可以监视的范围int left = Math.max(0, i - (temp - '0'));int right = Math.min(i + (temp - '0'), n - 1);for (int x = left; x <= right; x++) {if(a[x]=='X'){//在可监视范围内,遇到小偷就+1,并把小偷转换为普通人,防止之后再多次技术count++;  a[x]='#'; }}}}System.out.println(count);System.out.println(str);}}

方法三:

package cn.com.jingdong;
import java.util.HashSet;
import java.util.Scanner;public class Main3 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();String s = sc.next();HashSet<Integer> set = new HashSet<>();//存放可监视范围内的小偷所在位置索引,用set可以去除重复计数的小偷for (int i = 0; i < n; i++) {if (Character.isDigit(s.charAt(i))) {int k = s.charAt(i) - '0';if (k == 0)continue;int l = Math.max(0, i - k);int r = Math.min(n - 1, i + k);for (int x = l; x <= r; x++) {if (s.charAt(x) == 'X')set.add(x);}}}System.out.println(set.size());}
}

编程题(1):笔试题-京东软件测试2018实习招聘相关推荐

  1. 2018深信服java笔试题,深信服2018秋招编程题

    深信服2018秋招编程题 深信服2018秋招编程题 第一题: 其中,reverse函数的代码实现如下: 1. unsigned int reverse(unsigned int num) { unsi ...

  2. 计算机校招软件测试笔试题,校招软件测试笔试题

    校招软件测试笔试题 1. 假设把整数关键码K散列到N个槽列表,以下哪些散列函数是好的散列函数 A: h(K)=K/N; B: h(K)=1; C: h(K)=K mod N; D: h(K)=(K+r ...

  3. php笔试判断题,php笔试题收藏

    1 echo -10%3; ?> 答案:-1. 考查:优先级. 因为-的优先级比%求余的优先级低,也就是-(10%3). 2 print (int)pow(2,32); 答案: 3 //file ...

  4. 2018深信服java笔试题_2018校招深信服编程题与面试题

    第一题: 顺时针输出矩阵元素: def printMatrix(matrix): res = [] while matrix: res += matrix.pop(0) if matrix and m ...

  5. 网易python笔试题_2017秋季网易校园招聘编程题和个人解答(python)

    做菜 题干 大牛喜欢做菜,每种菜需要不同的材料,求需要准备多少种材料. 每一行是一个菜谱,<50字节,输入行数不确定,不超过50行. 难点:如何获取输入结束的标志 输入示例 apple bana ...

  6. 编程猫python笔试题_假如高考考python编程,这些题目你会几个呢?

    Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理 ...

  7. 【笔试题】网易2018秋招内推笔试

    彩色的砖块 #include <iostream> #include <string> #include <unordered_map> using namespa ...

  8. jQuery笔试题汇总整理--2018

    很多人认为属于JQ的时代已经结束了!但是请不要忘记JQ自身还有一项非常牛的优势--兼容性!这是其它框架所不具备的!所以至少目前JQ还是有自己的用武之地的.在这里我将JQ的一些面试题进行了整理,希望对大 ...

  9. 20180826 猿题库笔试题

    - - 1.排队上车  12345678 每个车可以坐3人,输出78 456 123 2.输入字符串,利用该字符串中的字符输出Y图形,要求上下对称. 转载于:https://www.cnblogs.c ...

最新文章

  1. 一些使用Vim的小技巧
  2. SDUT 贪心算法 删数问题
  3. python 预编译命令_Python子进程调用预编译j
  4. c语言如何定义比较大的数组_C语言:数据结构-数组的定义、逻辑结构和特点
  5. Git 工作区恢复暂存区操作总览
  6. Python获取文件路径:os.listdir()和os.walk()
  7. Ubuntu中配置虚拟专用网络***
  8. python---python实现快速排序
  9. rpm包常见的格式详解
  10. 为什么有时候字母'f'不能从pdf文件中拷贝出来
  11. 计算机操作系统有几种基本管理,操作系统有哪些管理功能
  12. JAVA中LIST 和 MAP的区别
  13. JAVA Reflect反射详解
  14. GIT提交错分支,push错分支怎么办
  15. 场景式营销——新商业时代的生存法则
  16. 尚硅谷【韩顺平】 | Java数据结构和算法【详细笔记】(持续更新)
  17. Pose for Everything: Towards Category-Agnostic Pose Estimation 阅读笔记
  18. 骆驼命名法,帕斯卡命名法与下划线命名法
  19. Windows10 任务栏网络图标消失不见的解决办法
  20. php 限制微信登陆,thinkphp 微信用户登录 设置问题

热门文章

  1. 硅谷海盗的片尾背景音乐, 有谁知道吗?
  2. 【架构实践】全链路实时追踪系统架构实战: 链路追踪系统 Tracing Analysis System
  3. python爬上去飞卢_pyhon3爬虫爬取飞卢小说网小说
  4. 如何在 iPad 上运行 VSCode
  5. CVPR2021(oral) GLEAN: Generative Latent Bank for Large-Factor Image Super-Resolution
  6. 手机端安卓、苹果的分页逻辑:上拉、下拉动作
  7. 虚幻引擎学习之路:新粒子系统Niagara
  8. 【NiosII学习】第六篇、从零搭建属于自己的SOPC系统
  9. 华为Mate40立体双扬声器效果怎么样?专业录音来啦~
  10. Policy Gradients