京东2019笔试题-相似字符串计算

#!/bin/python
# -*- coding: utf8 -*-
import sys
import os
import re

#请完成下面这个函数,实现题目要求的功能
#当然,你也可以不按照下面这个模板来作答,完全按照自己的想法来 ^-^ 
#******************************开始写代码******************************
def check(s,dis):
    val = {}
    for i in range(len(s)):
        if s[i] not in val:
            val[s[i]]=dis[i]
        elif val[s[i]]==dis[i]:
            continue
        else:
            return 0
    return 1

def  solve(S, T):
    
    if(len(S)>len(T)):
        s1 = str(S)
        s2 = str(T)
    else:
        s1 = str(T)
        s2 = str(S)    

    count = 0
    for i in range(len(s1)-len(s2)+1):
        dis = []
        for j in range(len(s2)):
            dis.append(ord(s2[j])-ord(s1[i+j]))
        if(check(s2,dis)):
            count = count + 1
     
    return count        

#******************************结束写代码******************************


try:
    _S = 'ababcb'#raw_input()
except:
    _S = None

try:
    _T = 'xyx'#raw_input()
except:
    _T = None

  
res = solve(_S, _T)

print str(res) + "\n"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值