手机版 | 登陆 | 注册 | 留言 | 设首页 | 加收藏
当前位置: 网站首页 > python教程 > 文章 当前位置: python教程 > 文章

傲梦python笔试题及答案Python笔试题如何获取输入python笔试题

时间:2022-08-07    点击: 次    来源:网络    作者:佚名 - 小 + 大

傲梦python笔试题及答案Python笔试题如何获取输入python笔试题


下载地址

https://share.weiyun.com/gcOeOitM


资料目录
100道Python面试题
5个等待挑战的Python面试题(附答案)
python基础面试题三十一道(附详细答案)
python面试基础题十大陷阱(附详细答案)
python面试真实笔试题带答案(1-10题)
Python面试中必看的8个必考问题(附详细答案)
Python爬虫开发面试常见问题(附详细答案)
Python爬虫面试题(附详细答案)
python数据分析师面试题选(附详细答案)
Python数据挖掘试题四十道(附答案)
阿里巴巴Python开发工程师面试题(附答案)
常见的25个python面试问答(附详细答案)
Python经典面试题和答案解析
四类必须提前准备的Python程序员面试问题
出现频率最高的python面试题集锦(附详细答案)
珍藏版Python web后端开发工程师面试试题
尚观python第一阶段考试(面试真题模拟)
老男孩Python全栈7期练习题(面试真题模拟)
傲梦python笔试题及答案
python 笔试题(附带答案)
Python题库(已收录100道真题)
python第一阶段考试题
python基础试题(含答案)
PYTHON测试题和答案
Python考试题复习知识点试卷试题
python期末考试复习试卷

举例

亲密字符串
题目要求
有两个字符串,A和B,如果A字符串内部交换任意两个位置的字符就能够让A和B相等,就认为两个字符串是亲密字符串。
示例1
输入:A="cccb" ,B="cccb" 
输出:True
解释: 任意两个c交换位置,都可以让A=B,他们是亲密字符串

示例2
输入:A="ccbcab", B="cccbab"  
输出:True
解释:A内部交换A[2]和A[3]后,A=B,他们是亲密字符串

示例3
输入:A="ab", B="ab"  
输出:False
解释:A字符串内部不论怎样交换,都不可能与B相同
思路分析
如果A==B成立,那么就必须满足,A中有某个字符出现了两次或以上,只有这样,才能满足交换两个字符后与B相等,这是示例1的情况
如果A!=B,满足亲密字符串的条件就是A与B有两处不相同,而且交换这两处不相同的字符后A==B成立,这是示例2 的情况
如果A B两个字符串的长度不相等,必然不是亲密字符串。
遍历两个字符串,统计相同索引字符不相同的次数,如果次数是0,那么就必须满足A字符串有某个字符出现了两次或以上,可以用一个集合来保存A中的字符,如过有某个字符出现了两次或以上,那么最终,集合的大小一定小于A字符串的长度。
如果不相同的次数是2,那么交错对比这两处字符,如果不相同次数既不是0也不是2,则一定不是亲密字符串
示例代码
# coding=utf-8


def is_close_str(str_1, str_2):
    # 长度要一致,且不能为0
    if len(str_1) != len(str_2) or len(str_1) < 2:
        return False

    index = 0
    diff_index_lst = []             # 记录不一致的索引位置
    char_set = set()
    while index < len(str_1):
        # 遇到相同位置字符不相同的情况
        if str_1[index] != str_2[index]:
            diff_index_lst.append(index)
            if len(diff_index_lst) > 2:
                return False
        char_set.add(str_1[index])
        index += 1

    if len(diff_index_lst) == 0:
        if len(str_1) != len(char_set):
            return True
    elif len(diff_index_lst) == 2:
        diff_index_1 = diff_index_lst[0]
        diff_index_2 = diff_index_lst[1]
        # 两处不一样的地方交错比较
        if str_1[diff_index_1] == str_2[diff_index_2] and \
                        str_1[diff_index_2] == str_2[diff_index_1]:
            return True

    return False

if __name__ == '__main__':
    print(is_close_str("", ""))
    print(is_close_str('abc', 'acba'))
    print(is_close_str('ab', 'ab'))
    print(is_close_str('cccb', 'cccb'))
    print(is_close_str('ccbcab', 'cccbab'))
    print(is_close_str('acbcad', 'dcbcaa'))

上一篇:Python笔试题库python笔试题 数组 如果存在每位数相加之和相等

下一篇:没有了

推荐阅读
声明 | 联系我们 | 关于我们
备案ICP编号  |   QQ:2151239526  |  地址:北京市东城区  |  电话:16605168200  |