1. 程式人生 > >python 類內函式互調的兩種用法

python 類內函式互調的兩種用法

以leetcode 279題 Perfect Squares為例

題目:

Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, ...) which sum to n. For example, given n = 12, return 3 because 12 = 4 + 4 + 4; given n = 13, return 2 because 13 = 4 + 9. 我們根據

第一種:

    在之前加類名:

  class Solution(object):
    import math
    def is_square(self,n):
        s=int(math.sqrt(n))
        return s*s==n


    def numSquares(self, n):
        """
        :type n: int
        :rtype: int
        """
        if Solution.is_square(self,n)==True:
            return 1
        while n%4==0:
            n=n/4
        if n%8==7:
            return 4
        i=1
        while i*i<n:
            if Solution.is_square(self,n-i*i)==True:
                return 2
            i+=1
        return 3

   用時52ms,其中is_square函式的定義和呼叫引數都有self

第二種,之前加self:

class Solution(object):
    import math
    def is_square(self,n):
        s=int(math.sqrt(n))
        return s*s==n
    def numSquares(self, n):
        """
        :type n: int
        :rtype: int
        """
        if self.is_square(n)==True:
            return 1
        while n%4==0:
            n=n/4
        if n%8==7:
            return 4
        i=1
        while i*i<n:
            if self.is_square(n-i*i)==True:
                return 2
            i+=1
        return 3

用時39ms  

相關推薦

python 函式調用法

以leetcode 279題 Perfect Squares為例 題目: Given a positive integer n, find the least number of perfect

python C數組的形式:list -->內容可變, tuple --->內容不可變

size print app http append 列表 itl c數組 multi python 中的列表相當與 C 中的數組,列表:list 初始化使用[ ], 元組:tuple 初始化使用();一、列表list 1 #!/usr/bin/python 2 3

使用Python生成源文件的方法

mob zhang mod pri tid 串接 數字 能夠 package 利用Python的字符串處理模塊,開發者能夠編寫腳本用來生成那些格式同樣的C、C++、JAVA源程序、頭文件和測試文件,從而避免大量的反復工作。本文概述兩種利用Python string類生成

es6對象函數的寫法

images style image class cti window對象 ima nbsp 方法 es6對象內函數一般有兩種寫法: var person1 = { name: "p1", sayThis() { console.log(t

python-文件操作-修改的方式

import str2 replace new col 檢查 循環 blog nbsp 方法一:(占內存) 全部把文件讀進內存進行修改。 f_name ="D:/聯系方式2.txt" old_str =‘喬一菲‘ new_str =‘剛亮‘ f =open(f_nam

關於匿名部類實現的方法

匿名內部類。這兩種方法都常用。 第一種方法Timer time= new Timer();time.schedule(new TimerTask() { @Override public void run() { // TODO Auto-gene

python中字典循環的方式

ack lap 列表 效率 PE () none IE key 在python中對字典的循環是經常使用的一種方法,但是不同的循環方法,其工作效率也是不一樣的。 1 info = { 2 ‘stu1101‘:"Lucy", 3 ‘stu1102‘:

python 方法的互相調用及self的含義

title col eth 運行 %s 鍵盤 寫法 類屬性 itl 每次調用內部的方法時,方法前面加 self. class MyClass:   def __init__(self):     pass   def func1

python中list轉csv的方法

方法一: name_attribute = ['NumberID','UserID','ModuleID','StartDate','EndDate','Frequent'] writerCSV=pd.DataFrame(columns=name_attribute,data=data) wr

轉載:Python實現螢幕截圖的方式

Python實現螢幕截圖的兩種方式  更新時間:2018年02月05日 11:51:13   作者:weiyinfu    我要評論   這篇文章主要介紹了Python實現螢幕截圖的兩種方式及對這兩者的特點和用法進行詳細解釋,感

python 讀取wav 音訊檔案的方式

  python 中,常用的有兩種可以讀取wav音訊格式的方法,如下所示: 1 import scipy 2 from scipy.io import wavfile 3 4 import soundfile as sf 5 6 fs,data = wavfile.read(

Python中讀取txt檔案的可行辦法

DataTest.txt中的檔案內容,檔案最後儘量不要留空行,否則有的時候會出現error 1,2,3 4,5,6 7,8,9 第一種方式:使用 csv.reader讀取txt檔案 import csv data = [] with open('E:/DataTest.t

python函式互相呼叫記得帶self

import time from selenium import webdriver import pymysql import uuid class  main (object):    

Python實現"3的冪"的方法

給定一個整數,寫一個函式判斷它是否是3的冪 Example 1: Input: 27 Output: true Example 2: Input: 0 Output: false Example 3: Input: 9 Output: true Exampl

Python實現"4的冪"的方法

給定一個帶符號整數,寫一個函式判斷它是否是4的冪 Example: Given num = 16, return true. Given num = 5, return false. 進階: 你能不用迴圈或者遞迴完成本題麼? 1:累除4 迴圈 def isPo

Python:讀取 .doc、.docx Word 文件簡述及“Word 未能引發事件”錯誤

bug itext als htm 單獨 borde b+ compile http Python 中可以讀取 word 文件的庫有 python-docx 和 pywin32。 優點 缺點 python-docx 跨平臺 只能處理 .docx 格式,不能處理

opencv(3)-floodFill函式填充,形式

第一種:聯通方式為,CV_FLOODFILL_FIXED_RANGE,彩色填充 # -*- coding=GBK -*- import cv2 import numpy as np def fill_image(image): copy_image = image

Python實現"左葉子之和"的方法

給定一顆二叉樹,返回它所有左葉子節點之和 Example:     3    / \   9  20     /  \    15   7 There are two left leaves in the binary tree, with values 9 and

python 讀取並顯示圖片的方法

在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 這兩個庫操作圖片。 原文地址 一、matplotlib 1. 顯示圖片 import matplotlib.pyplot as plt # plt 用於顯示圖片 import mat

Python操作Mongodb插入資料的方法:insert_one()與insert_many()

sys.setdefaultencoding('utf8') import web from pymongo import MongoClient class getPltfList(object):     def __init__(self):         self.db1 = web.databa