面试题之“约德尔测试”
来源:互联网 发布:金十数据官网财经日历 编辑:程序博客网 时间:2024/04/29 00:07
题目描述兰博和提莫闲聊之后,回归到了他们的正题,约德尔人的未来。
说起约德尔人的未来,黑默丁格曾经提出了一个约德尔测试,将约德尔人的历史的每个阶段都用一个字符表达出来。(包括可写字符,不包括空格。)。然后将这个字符串转化为一个01串。转化规则是如果这个字符如果是字母或者数字,这个字符变为1,其它变为0。然后将这个01串和黑默丁格观测星空得到的01串做比较,得到一个相似率。相似率越高,则约德尔的未来越光明。
请问:相似率为多少?
import java.math.BigDecimal;import org.apache.commons.lang3.StringUtils;/** * 约德尔测试 * 兰博和提莫闲聊之后,回归到了他们的正题,约德尔人的未来。 * 说起约德尔人的未来,黑默丁格曾经提出了一个约德尔测试,将约德尔人的历史的每个阶段都用一个字符表达出来。(包括可写字符,不包括空格。)。 * 然后将这个字符串转化为一个01串。转化规则是如果这个字符如果是字母或者数字,这个字符变为1,其它变为0。 * 然后将这个01串和黑默丁格观测星空得到的01串做比较,得到一个相似率。相似率越高,则约德尔的未来越光明。 * 请问:相似率为多少? * @author xiaowei 2017年11月16日 下午2:20:23 */public class YueDeErTest { public static void main(String[] args) { YueDeErTest test = new YueDeErTest(); System.out.println(test.what("we576t5weq67wqg", "01101011010110110")); } public float what(String str, String numStr) { if (StringUtils.isEmpty(str) || StringUtils.isEmpty(numStr)) { return 0f; } // 字符串转换 char[] ch = str.toCharArray(); StringBuffer sb = new StringBuffer(); boolean isWordOrNum = false; for (char c : ch) { isWordOrNum = (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9'); sb.append(isWordOrNum ? 1 : 0); } // 计算长度 int minLen = ch.length; int maxLen = numStr.length(); if (minLen > maxLen) { int temp = minLen; minLen = maxLen; maxLen = temp; } // 计算相同位数 char[] numStrCh = numStr.toCharArray(); int count = 0; for (int i = 0; i < minLen; i++) { if (sb.charAt(i) == numStrCh[i]) { count++; } } // 计算相似度 BigDecimal big1 = new BigDecimal(String.valueOf(count)); BigDecimal big2 = new BigDecimal(String.valueOf(maxLen)); return big1.divide(big2, 4, BigDecimal.ROUND_HALF_DOWN).floatValue(); }}
程序输出结果:0.5294
阅读全文
0 0
- 面试题之“约德尔测试”
- 软件测试面试题之杯子
- java面试题之测试基础
- 软件测试面试题之快速掌握基本测试要素
- 软件测试面试题
- 测试MS面试题
- 软件测试面试题
- 软件测试面试题
- 测试面试题2
- 软件测试面试题
- 测试面试题之一
- 软件测试面试题
- 性能测试面试题
- 性能测试面试题
- 性能测试面试题
- 软件测试面试题
- 面试题测试
- 测试笔试、面试题
- 简单对比Flat, Gouraud & Phong shading
- 为什么在浏览器的地址栏上输入 url 就能访问到 Web 网页
- xgboost on yarn 安装
- css 水平居中 垂直居中 水平垂直居中
- Python爬虫之静态页面爬取
- 面试题之“约德尔测试”
- ES6-数组的扩展-数组的空位
- MyBatis PageHelper插件使用
- 微信测试号开发之六 图灵自动回复文本消息
- 2018最新阿里云优惠券免费领取!
- 股票技术
- 网络插座封装收集
- 删除文件后,磁盘空间没有释放的处理记录
- hook函数实例分析--sys_seteuid调用