2013亚马逊校招机试题A

题目没复制下来,凭印象写的。

删除代码中的的注释。注释分两种,//和/**/。字符串中出现的注释符号不能被当作注释。

解题思路:

以前编译原理课做过类似的程序,分出几个状态,并做状态转移判断即可。

StringBuilder中存放返回的字符串。动作a表示添加当前字符到StringBuilder,b表示删除StringBuilder中最后一个字符。-表示其他字符或者无动作或者状态不转变

状态 字符 转变状态 动作
0 " 1 a
0 / 2 a
0 - - a
1 " 0 a
1 - - a
2 * 3 b
2 / 4 b
2 - 0 a
3 * 5 -
3 - - -
4 \n 0 a
4 - - -
5 / 0 -
5 * - -
5 - 3 -
static void backOne(StringBuilder sb) {
    sb.delete(sb.length() - 1, sb.length());
}  

static String removeComment(String s) {
    StringBuilder sb = new StringBuilder();
    int state = 0;
    for (int i = 0; i < s.length(); i++) {
        char c = s.charAt(i);
        switch (state) {
        case 0:
            switch (c) {
            case '"':
                sb.append(c);
                state = 1;
                break;
            case '/':
                sb.append(c);
                state = 2;
                break;
            default:
                sb.append(c);
            }
            break;
        case 1:
            switch (c) {
            case '"':
                sb.append(c);
                state = 0;
                break;
            default:
                sb.append(c);
            }
            break;
        case 2:
            switch (c) {
            case '*':
                backOne(sb);
                state = 3;
                break;
            case '/':
                backOne(sb);
                state = 4;
                break;
            default:
                sb.append(c);
                state = 0;
            }
            break;
        case 3:
            switch (c) {
            case '*':
                state = 5;
                break;
            }
            break;
        case 4:
            switch (c) {
            case '\n':
                sb.append(c);
                state = 0;
                break;
            }
            break;
        case 5:
            switch (c) {
            case '/':
                state = 0;
                break;
            case '*':
                break;
            default:
                state = 3;
            }
        }
    }
    return sb.toString();
} 


时间: 2024-11-01 13:04:20

2013亚马逊校招机试题A的相关文章

亚马逊云服务故障尚未得到彻底解决

北京时间4月23日早间消息,亚马逊周五表示,其网络服务(Web services)周四上午出现的技术故障依然未彻底解决,服务中断已超过36小时,不过该公司预计可在当地时间周五晚些时候完全恢复. 亚马逊称,网络服务的故障修复工作正在缓慢地进展当中.一些网站正在等待亚马逊服务的全面恢复,由于无法使用该服务而采取了应变计划.美国东部时间下午5点15分,亚马逊在网站上发布最新消息称:"我们恢复工作正在取得进展,更多的客户都证实他们的服务已恢复.我们估计,未来三到四个小时里可基本恢复". 亚马逊

亚马逊网络服务故障未解决

摘要: 北京时间4月23日消息,据国外媒体报道,亚马逊周五表示,其网络服务(Web services)周四上午出现的技术故障依然未彻底解决,服务中断已超过24小时,不过该公司预计可在当地时间周五 北京时间4月23日消息,据国外媒体报道,亚马逊周五表示,其网络服务(Web services)周四上午出现的技术故障依然未彻底解决,服务中断已超过24小时,不过该公司预计可在当地时间周五下午解决. 亚马逊称,网络服务的故障修复工作已经取得进展.一些网站正在等待亚马逊服务的全面恢复,由于无法使用该服务而采

打错一个字母瘫痪半个互联网!亚马逊 S3 宕机事件缘由

2月28号,号称「亚马逊AWS最稳定」的云存储服务S3出现"超高错误率"的宕机事件. 接着,半个互联网都跟着瘫痪了. 一个字母造成的血案 AWS在昨天给出了确切的解释:一名程序员在调试系统的时候,运行了一条原本打算删除少量服务器的脚本,结果输错了一个字母,导致大量服务器被删.为了修复这个错误,亚马逊不得不重启整个系统(在此之前已经几年都没有重启过了),最终导致了震惊全球的Amazon S3宕机4个小时事件. 我想这名程序猿当时的表情应该是这样的 曾经有人计算过,AWS每宕机一分钟,对亚

2013年亚马逊AWS营收预计38亿美元

北京时间1月14日晚间消息,麦格理资本(Macquarie Capital)分析师上周研究报告称,2013年亚马逊网络服务(Amazon Web Services,AWS)预计可获得38亿美元营收.如果将它作为一个独立公司,其估值可达190亿至300亿美元. 麦格理资本分析师本?沙赫特(Ben Schachter)得出该结论的依据是云计算市场规模预测并假设AWS服务占亚马逊"其他"营收类别的全部. 在这一研究报告发布的同时,摩根士丹利分析师斯哥特?戴维特(Scott Devitt)基于

亚马逊“未免”宕机命运 近30分损失近200万美元

硅谷网8月20日讯 过去的一周,诸多网站遭遇宕机事件,并引发了的较大损失. 特别上周五,谷歌一度宕机,不仅损失数十万美元,而且也引发了http://www.aliyun.com/zixun/aggregation/31875.html">全球网络流量暴跌40%:而微软的Outlook.com也宕机三天,为此微软还发布声明向用户道歉:此外,<纽约时报>网站也在上周遭遇宕机. 今天,亚马逊也未能避免"宕机"厄运. 诸多消息称,亚马逊网站今天宕机约30分钟,从美国

亚马逊网站宕机约半小时 销售额损失数百万美元

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 凤凰科技讯 北京时间8月20日消息,据VentureBeat网站报道,美国东部时间19日14:50左右,亚马逊网站Amazon.com出现宕机,包括加拿大在内的部分地区零售商的主页也无法加载.此次宕机时间约半小时,当地15:30分左右恢复正常. 各地报告的宕机时长在15.25.40.45分钟不等.据<普吉特海湾商业杂志>(Puge

亚马逊网站29日宕机超3小时 损失超900万美元

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 6月30日上午消息,据国外媒体报道,亚马逊网站周二出现大范围宕机,在超过3个小时的时间里,很多用户只能看到空白或部分页面. 到周二中午,亚马逊主页上的所有产品图片都无法显示,只是在屏幕左侧显示一个产品分类列表.此外,商品搜索功能也经常无法使用,用户购物车和收藏商品列表也出现了暂时性的空白. 亚马逊网站页面只能部分显示 亚马逊的年营收近270亿

亚马逊:2013年五大预测

http://www.aliyun.com/zixun/aggregation/16449.html">CNET科技资讯网 12月27日 国际报道:2013年对于亚马逊来说将是大有作为的一年,其不是一家固步自封的公司. 作为电商领域内的主宰者,2013年的亚马逊可能会在战略相关的领域继续扩张.我们对其明年的前五大举措进行如下分析: 1.播种与收获 在过去几年当中,亚马逊已建立它的一些服务,包括:增设了更多的物流中心,添加了用以传播其内容的硬件产品,以及投资制作工作室来发布原创内容.虽然今年

谷歌亚马逊2013年全面开战:进攻对方后院

导语:国外媒体今天撰文称,随着科技行业的变化,原本相安无事的企业纷纷开始进军彼此的领地,谷歌和亚马逊便是其中的典型例子.二者的竞争已经从最初的电子书扩展到网络广告.电子商务.移动设备和云计算,2013年则会全面开战. 以下为文章全文: 全面开战 十年前,当亚马逊CEO杰夫·贝佐斯(Jeff Bezos)听说谷歌将扫描产品目录时,双方对立的种子便已埋下. 这条消息令身为谷歌早期投资者的贝佐斯如梦初醒.据一位亚马逊前高管透露,贝佐斯这才意识到,这家网络搜索引擎想要入侵他的在线零售帝国. 这位高管称,