2019年暑期GooGle SWE 凉经

  今天刚刚面了Google的SWE实习生,面试官人很好。也没有自我介绍和介绍项目的环节,上来就刚算法了。

 题目:

有两个字符串str1和str2,两个字符串中可能出现'a'-'z',‘*’,‘?’字符。其中?可以匹配任意字符。*可以匹配任意字符串,包括空串。提问两个字符串能否匹配。我用了特别复杂的迭代。但是应该可以用动态规划

Q1. s1, s2
a-z?*  a:a, ?:a, *:, *:a, *:abc
public boolean s(String str1,String str2){
    if(str1.equals(“”)&&str2.equals(“”)||str1==null&&str2==null){
        return true;
}
else{
    int pre_i=0;
    int pre_j=0;
        for(int j=0,i=0;j<str2.length()&&i<str1.length();){
        if(str1.charAt(i)==’?’||str2.charAt(i)==’?’||str1.charAt(i)
        ==str2.charAt(i)){
            i++;
            j++;
            continue;
        }
if(str1.charAt(i)==’*’){
    for(int k=j;k<=str2.length();k++){
    if(i+1==str1.length()) {
        if(s(“”,str2.substring(k,str2.length()){return true;}

}else     if(s(str1.substring(i+1,str1.length()),str2.substring(k,str2.length()){return true;}else return false;
    }

}
if(str2.charAt(j)==’*’){
    for(int k=i;k<=str1.length();k++){
if(i+1==str1.length()) {
        if(s(“”,str2.substring(k,str2.length()){return true;}

}else if(s(str1.substring(i+1,str1.length()),str2.substring(k,str2.length()){return true;}else return false;
    }

}
    }
    if(i==str1.length()){return true;}
else return false;
}
}

Length O(n), * O(m)
Time complexity

O(n^m) -> (n * n)

最后迭代复杂度也没有算出来,凉。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ASPICE(Automotive Software Process Improvement and Capability dEtermination)是汽车软件过程改进和能力评估的国际标准。swe 3是ASPICE中的一个等级,代表重要性为“高”级的软件工程要求。下面将通过一个实际案例来了解ASPICE SWE 3的应用。 案例:某汽车公司正在研发一款自动驾驶汽车,为了确保软件质量和安全性,该公司将ASPICE SWE 3纳入开发过程。 在软件开发过程中,该公司首先利用SWE 1和SWE 2评估了团队开发流程的成熟度和工作规范性。然后,在SWE 3的要求下,制定了更加严格的开发过程和质量控制流程。 在软件设计阶段,开发团队首先完成了软件需求的详细规格,要求需求文档必须经过多次评审和验证,确保需求的完整性和正确性。在设计过程中,团队使用了严密的验证方法,包括模拟测试和软件仿真等。开发团队还使用了代码规范检查器,检查代码的一致性和规范性。 在软件测试阶段,团队使用了多种测试方法,包括单元测试、集成测试和系统测试。在测试过程中,团队使用了自动化测试工具,提高了测试效率和测试覆盖率。 通过采用ASPICE SWE 3,该汽车公司在自动驾驶汽车软件开发过程中,通过严格的流程要求和质量控制流程,确保了软件的高质量和安全性。该公司在实际应用中证明了ASPICE SWE 3的有效性,提高了软件开发的可靠性和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值