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


    力扣题目汇总

    1.两数之和

    1.题目描述

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

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

    示例:

    给定 nums = [2, 7, 11, 15], target = 9
    
    因为 nums[0] + nums[1] = 2 + 7 = 9
    所以返回 [0, 1]
    

    2.解答

    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):

    -1 : 我的数字比较小
     1 : 我的数字比较大
     0 : 恭喜!你猜对了!
    

    示例 :

    输入: n = 10, pick = 6
    输出: 6
    

    2.解答

            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:

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

    示例 2:

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

    2.解答

    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
      # 怎么出来忘了
    
  • 相关阅读:
    一个非侵入的Go事务管理库——如何使用
    事件驱动的微服务-事件驱动设计
    事件驱动的微服务-总体设计
    如何快速高效率地学习Go语言
    清晰架构(Clean Architecture)的Go微服务
    清晰架构(Clean Architecture)的Go微服务: 编码风格
    清晰架构(Clean Architecture)的Go微服务: 事物管理
    清晰架构(Clean Architecture)的Go微服务: 依赖注入(Dependency Injection)
    msf stagers开发不完全指北(四): msf 中使用域前置技术隐藏流量
    elementui 表格中带有按钮的loading解决方案
  • 原文地址:https://www.cnblogs.com/pythonywy/p/10853796.html
Copyright © 2020-2023  润新知