• 【剑指offer】【python】面试题2~5


      使用python实现《剑指offer》面试题ヾ(◍°∇°◍)ノ゙,以此记录。

    2_实现Singleton模式

    题目:实现单例模式

    单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的一个类只有一个实例。即一个类只有一个对象实例

    原理:使用模块时,第一次导入会生成.pyc文件(存放相应目录下的__pycache__文件夹内),当第二次使用该模块时会直接加载pyc文件。所以,将函数、数据等定义在一个模块中即可完成一个单例对象。

    class Singleton(object):
        def func(self):
            print("I'm a singleton!")
    
    s=Singleton()
    

     

    3_数组中重复的数字

    题目:找出数组中重复的数字

    def distinct(l):
        l_new=[]
        for i in l:
            if l.count(i)>1:
                l_new.append(i) 
        return list(set(l_new))
    
    if __name__ == '__main__':
        print(distinct([1,2,4,12,2,2,4]))  
    

      

    4_二位数组中的查找

    题目:输入一个二维数组和一个整数,判断数组中是否含有该整数。且二维数组每行每列都递增排序。

    def double_dimensional_array(array,num):
        for i in range(len(array)):
            for j in range(len(array[0])):
                if num==array[i][j]:
                    return True
        return False
    
    if __name__ == '__main__':
        da=[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]
        print(double_dimensional_array(da,7))
        print(double_dimensional_array(da,23))  
    

      

    5_替换空格

    题目:把字符串中的空格替换成指定字符

    def replace_blank(content,symbol):
        content_new=''
        for i in content:
            if i==' ':
                content_new+=symbol
            else:
                content_new+=i
        return content_new
    if __name__ == '__main__':
        print(replace_blank('nice to meet you!','%20'))
    

      

  • 相关阅读:
    创建Variant数组
    ASP与存储过程(Stored Procedures)
    FileSystemObject对象成员概要
    Kotlin 朱涛9 委托 代理 懒加载 Delegate
    Kotlin 朱涛 思维4 空安全思维 平台类型 非空断言
    Kotlin 朱涛7 高阶函数 函数类型 Lambda SAM
    Kotlin 朱涛16 协程 生命周期 Job 结构化并发
    Proxy 代理模式 动态代理 cglib MD
    RxJava 设计理念 观察者模式 Observable lambdas MD
    动态图片 Movie androidgifdrawable GifView
  • 原文地址:https://www.cnblogs.com/lilip/p/10400143.html
Copyright © 2020-2023  润新知