Splunk公司在线笔试题(2016.4.12)

本文介绍了一种解决OCR识别字体不准确的方法,通过将数字替换成特定数量的通配符来标准化字符串,进而实现字符串的有效匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时间是 75min。  语言可以任选。


题目:

        OCR识别字体有一些问题。比发说:Apple,识别出来是:??ple  或者为 App??。我们可以换一种表达方式:2ple 或者App2。

        如果 识别出来是 3x2c  和8。 由于字符个数不一样,我们得知她不是同一个字符串。

        如果 识别出来的是 Hee1o 和Hae10。由与第二个字符不一样,所以我们同样得知她不是同一个字符串。


代码如下:(python 2.7)

import re
def solution(S,T):
    
    i=-1
    j=-1
    list=[]
    list1=[]
    list=re.findall(r"\d+",S)
    for one in list:
        S=S.replace(one,int(one)*"#")

    list1=re.findall(r"\d+",T)
    for one in list1:
        T=T.replace(one,int(one)*"#")

    for one in S:
        i=i+1

    for one in T:
        print('S[j]:',S[j])
        print('T[j]:',T[j])
        print('j:',j)
        if(j<=i):
            if((S[j]=="#")|(T[j]=="#")):
                j=j+1
                continue
            if(S[j]!=T[j]):
                return False
        j=j+1

    if(i!=j):
        return False
    return True



print(solution('10a', 'b10'))
print(solution('3x2x', '8'))


 思路就是: 把字符串中的数字找出来,然后替换成相应得字符,数字有多少就替换多少。然后在一个个比较。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值