前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >力扣题目(两数之和,猜数字大小,1比特与2比特字符)

力扣题目(两数之和,猜数字大小,1比特与2比特字符)

作者头像
小小咸鱼YwY
发布2019-07-24 15:46:30
4380
发布2019-07-24 15:46:30
举报
文章被收录于专栏:python-爬虫

力扣题目汇总

1.两数之和

1.题目描述

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

代码语言:javascript
复制
给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

2.解答

代码语言:javascript
复制
class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        import copy             
        new_list = []
        for v in range(len(nums)):
            new_list_1=copy.copy(nums) #这里一开始用了深拷贝,后面深拷贝太费时间了换浅拷贝         
            del new_list_1[v]    #这里COPY和DEL是为了每次进入循环删除进入循环的那个字
            if (target - nums[v]) in new_list_1:
                new_list.append(v)
        return(new_list)

2.猜数字大小

1.题目描述

我们正在玩一个猜数字游戏。 游戏规则如下: 我从 1n 选择一个数字。 你需要猜我选择了哪个数字。 每次你猜错了,我会告诉你这个数字是大了还是小了。 你调用一个预先定义好的接口 guess(int num),它会返回 3 个可能的结果(-110):

代码语言:javascript
复制
-1 : 我的数字比较小
 1 : 我的数字比较大
 0 : 恭喜!你猜对了!

示例 :

代码语言:javascript
复制
输入: n = 10, pick = 6
输出: 6

2.解答

代码语言:javascript
复制
        start = 1
        mx = n
        while start <= mx:
            mid = start + (mx - start) // 2
            z = guess(mid)
            if z == 1:
                start = mid + 1
            elif z == -1:
                mx = mid -1
            else:
                return mid
            
  '''主要是理解上面那个
  -1 : 我的数字比较小
 1 : 我的数字比较大
 0 : 恭喜!你猜对了!
 '''
#理解反了,这是网上查的中中间开始可以减少时间,一开始从头开始循环时间超了

3.1比特与2比特字符

1.题目描述

有两种特殊字符。第一种字符可以用一比特0来表示。第二种字符可以用两比特(1011)来表示。

现给一个由若干比特组成的字符串。问最后一个字符是否必定为一个一比特字符。给定的字符串总是由0结束。

示例 1:

代码语言:javascript
复制
输入: 
bits = [1, 0, 0]
输出: True
解释: 
唯一的编码方式是一个两比特字符和一个一比特字符。所以最后一个字符是一比特字符。

示例 2:

代码语言:javascript
复制
输入: 
bits = [1, 1, 1, 0]
输出: False
解释: 
唯一的编码方式是两比特字符和两比特字符。所以最后一个字符不是一比特字符。

2.解答

代码语言:javascript
复制
class Solution:
    def isOneBitCharacter(self, bits: List[int]) -> bool:
        i = -2
        s = -len(bits)
        while i >= s and bits[i]:
            i -= 1
        return i % 2 == 0
  # 怎么出来忘了
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-05-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 力扣题目汇总
    • 1.两数之和
      • 1.题目描述
      • 2.解答
    • 2.猜数字大小
      • 1.题目描述
      • 2.解答
    • 3.1比特与2比特字符
      • 1.题目描述
      • 2.解答
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档