python面向对象

调用对象,方法

class Employee:
   #成员变量
   empCount = 0
 	#类似与Java中的构造函数(初始化方法),当创建了这个类的实例时就会调用该方法
 	#self 代表类的实例,self 在定义类的方法时是必须有的
   def __init__(self, name, salary):
      self.name = name
      self.salary = salary
      Employee.empCount += 1
   #方法
   def displayCount(self):
     print "Total Employee %d" % Employee.empCount

将数组转为list,由于字符串实际上是数组,但字符串不能改变,所以要将字符串转为list,然后再修改你想要改变的字符

b=[1,2,3,4,5]
a=list(b)

力扣中的1155和1156两题

class MajorityChecker(object):

    def __init__(self, arr):
        """
        :type arr: List[int]
        """
        self.arr=arr
        

    def query(self, left, right, threshold):
        """
        :type left: int
        :type right: int
        :type threshold: int
        :rtype: int
        """
        for j in range(left,right+1):
            a=self.arr[j:right+1]
        #     print a
            kv=dict()
            for i in a:        
                kv[i]=a.count(i)
            print kv  
            for key in kv:
                if(kv[key]>=threshold):
                    ele=key
                    return ele
        ele=-1
        return ele

              
        


# Your MajorityChecker object will be instantiated and called as such:
# obj = MajorityChecker(arr)
# param_1 = obj.query(left,right,threshold)
class Solution(object):
    def maxRepOpt1(self, text):
        """
        :type text: str
        :rtype: int
        """
        fina=0
        for j in range(len(text)):
            for k in range(j+1,len(text)):
                new_text=list(text)
                a=new_text[j]
                b=new_text[k]
                new_text[j]=b
                new_text[k]=a
                c=''.join(new_text)

                start=0
                end=1
                maxstart=0
                maxend=1
                for i in range(len(c)):
                    if(c[i-1]==c[i]):
                        end=i
                        repeat_len=end-start
                        if(repeat_len>(maxend-maxstart)):
                            maxstart=start
                            maxend=end

                    else:
                        start=i
                        repeat_len=end-start
                        if(repeat_len>(maxend-maxstart)):
                            maxstart=start
                            maxend=end

                if(end==1):
                    d=1 
                else:
                    d=maxend-maxstart+1
                if(d>fina):
                    fina=d
        return fina
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值