码迷,mamicode.com
首页 > 编程语言 > 详细

Python面试题(一)

时间:2016-11-22 03:18:46      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:大写   pad   二分   span   print   代码   面试题   get   oop   

 

**晚上在公司的论坛上看到一道面试题,题目如下:随机给定一字符串和字符,要求重排,比如:’abde’,’c’。重排之后变成’abcde’

**看到他们给的答案很多都是二分法重排,既然是字符类的处理,当然可以用ASCII码表对应的数字来处理了,所以在这里简单的写一种方法出来,代码如下:

def st(s1,s2):
    #先排序
    l = sorted(s1)
    #然后遍历
    for i in l:
        if i == s2:
            ind = l.index(i)
            l.insert(ind, s2)
            return l
        elif i < s2 and l[l.index(i) + 1] > s2:
            l.insert(l.index(i) + 1, s2)
            return l
        elif i > s2 and l[l.index(i) - 1] < s2:
            l.insert(l.index(i) - 1, s2)
            return l
        elif l[-1] < s2:
            l.insert(len(l), s2)
            return l
        elif l[0] > s2:
            l.insert(0, s2)
            return l

 

**测试步骤:

s1=ahijklvwx
s2=d
print st(s1,s2)

 

**测试结果:不知道有没bug(数字、大写字母、特殊字符都试过),最后再转换成字符串,代码中没有写出来

[a, d, h, i, j, k, l, v, w, x]

 

generated by haroopad

Python面试题(一)

标签:大写   pad   二分   span   print   代码   面试题   get   oop   

原文地址:http://www.cnblogs.com/xiaozi-autotestman/p/6087607.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!