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