• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程问答 > 日本Yahoo算法笔试题目分享_level_1

日本Yahoo算法笔试题目分享_level_1

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-07

佚名通过本文主要向大家介绍了level set算法,yahoo,yahoo japan,yahoo.com,yahoo奇摩等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:日本Yahoo算法笔试题目分享_level_1
描述:

问题

用英文单词来组合成一句话,文章中只包含英文字母(a-z,A-z),半角空格,和句末的半角英文句号(.)
要求组合成的英文文章的平均单词长度最长。

平均单词长度解释 例如:This is a dog. 包含This, is, a, dog 四个单词,则该句话的平均单词长度为(4 + 2 + 1 + 3)/4 = 2.5

其中,组成一句话的单词可以从{}中选择,例如:
当输入为s, s={That,This} is a {cat,dog,bear}.的时候,可以组合成一下6句话:
- This is a cat.
- This is a dog.
- This is a bear.
- That is a cat.
- That is a dog.
- That is a bear
这个时候,求出以上组合中平均单词长度最大的值。

Input

s
  • s长度少于100,并且一定包含至少一个英文单词。
  • s由(a-z,A-Z),半角空格( ), 大括号({,})以及半角逗号(,)组成,并且句末一定有半角句号(.)存在且半角句号只在句末出现。
  • 半角空格不会连续出现两次。
  • 半角空格不会在开头出现,且空格后面不会直接出现半角句号(.)
  • {}一定按顺序成对出现,且{}内只有英文单词和半角逗号存在。
  • 末尾换行符号为\n

Output

输出单词平均长度最大值,绝对误差小数点后6位数

解答例子

Sample One

Input

This is a dog.

Output

2.5

Sample Two

Input

{This,That} is a {dog,cat,bear}.

Output

2.75

Sample Three

Input

{a,aa,aaaaaa} bbbbb {c,ddddd,eee}.

Output

5.333333

结果小数点后超过六位时,保留至小数点后6位小数。

Sample Four

Input

A.

Output

1

s仅为一个单词时。


解决方案1:

看来题目太过简单,不值得大咖回答。主要考察的应该也就是字符串操作,正则表达吧,那我就把我当时php实现的答案分享一下,求交流指正。

php<?php

$s = "{This,That} is a {cat,dog,bear}.";
// 将输入内容拆分为数组
$arr = preg_split('/\s|{|}|\./',$s);    

$words_count = 0;       // 单词计数
$words_sum_length = 0;  // 所有单词总长度

foreach($arr as $value) {
    if($value) {
        $cur_word_length = 0;
        $words_count++;
        $inside_value = explode(',', $value);
        foreach($inside_value as $cur_word) {
            $cur_word_length = strlen($cur_word) > $cur_word_length ? strlen($cur_word) : $cur_word_length;
        }
        $words_sum_length += $cur_word_length;
    }
}

$avg_length = round($words_sum_length/$words_count,6);

echo $avg_length;


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 日本Yahoo算法笔试题目分享_level_1

相关文章

  • 2017-06-07 关于OD的调试
  • 2017-06-07 错错错一错再错七牛云第三方资源抓取报错badtoken
  • 2017-06-07 python爬虫(python)scrapy下载器中间件
  • 2017-06-07 (golang)大数据如何入门?爬虫软件有哪些?相关的网站或者聚集地是在哪里?
  • 2017-06-07 Django的urlspy加一个url就报错
  • 2017-06-07 (python)django后台如何检测注册的客户端是否在线?
  • 2017-06-07 python这个正则表达式中符号表示什么意思?
  • 2017-06-07 python的dict转换为list,求帮助,如下图
  • 2017-06-07 列表分割数据输出
  • 2017-06-07 遇见一个奇怪的问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Python写excel文件报错
    • Python27控制台下安装pipinstallpython-Levenshtein出现如下问题
    • JBPM没有任务结束却没有持久化到数据库中
    • opencms忘记管理密码咱办?
    • (python)flask的errorhandlerBaseError重写方法后怎么获得更多信息
    • mac系统上使用idea,但是svn一直连接不上公司的库,该怎么办?
    • Laravel重新执行phpartisanmake:migration的时候错误
    • 在Mac上编译Linux的程序有什么不同么?
    • 七牛音视频转码后的文件名称如何设置?
    • (laravel)homestead配置问题:host无法正常访问

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有