码迷,mamicode.com
首页 > 其他好文 > 详细

lintcode入门篇四

时间:2020-01-15 12:02:20      阅读:46      评论:0      收藏:0      [点我收藏+]

标签:重复   col   判断字符串   字符串   tco   turn   递归   inpu   pre   

142. O(1)时间检测2的幂次

用 O(1) 时间检测整数 n 是否是 2 的幂次。

样例

Example 1:
	Input: 4
	Output: true


Example 2:
	Input:  5
	Output: false

挑战

O(1) time

第一种方法:&的方法

class Solution:
    """
    @param n: An integer
    @return: True or false
    """
    ‘‘‘
    1.使用递归的方法来进行判断
    2.相与的方法来进行判断
    比如:16 与 15相与,因为16 二进制位10000,15减去1二进制位01111  相与>>00000
    或者 1&0 >> 0
    其他不是2的幂次的情况:
    15&14  01111 & 01110  >>01110
    ‘‘‘
    def checkPowerOf2(self, n):
        # write your code here
        if n&(n-1) == 0:
            return True
        return false

第二种方法:递归的方法

class Solution:
    """
    @param n: An integer
    @return: True or false
    """
    def checkPowerOf2(self, n):
        # write your code here
        if n == 2 or n ==1:
            return True
        if n%2 == 1 or n == 0:
            return  False
        return self.checkPowerOf2(n//2)

平方根,平方,立方:

1.求平方根,int(pow(n,0.5))

2.求平方,pow(n,2)

3.求立方,pow(n,3)

157. 判断字符串是否没有重复字符

中文English

实现一个算法确定字符串中的字符是否均唯一出现

样例

样例 1:

输入:  "abc_____"
输出:  false

样例 2:

输入:  "abc"
输出:  true	

挑战

如果不使用额外的存储空间,你的算法该如何改变?

class Solution:
    """
    @param: str: A string
    @return: a boolean
    """
    def isUnique(self, str):
        # write your code here
        for s in str:
            if str.count(s) !=1:
                return False
        return  True

 

lintcode入门篇四

标签:重复   col   判断字符串   字符串   tco   turn   递归   inpu   pre   

原文地址:https://www.cnblogs.com/yunxintryyoubest/p/12195522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!