首页 > 其他分享 >计算题总结

计算题总结

时间:2023-05-22 16:55:23浏览次数:39  
标签:总结 right target nums sum 计算题 整数 counts

目录

计算题

1. 给定一个长度为 n 的整数数组 nums 和一个目标值 target,请你从 nums 中选出三个整数,使得它们的和与 target 最接近。

def threeSumClosest(nums, target):
    nums.sort()  # 对数组进行排序
    closest_sum = float('inf')  # 初始设定为正无穷大

    for i in range(len(nums) - 2):
        left = i + 1
        right = len(nums) - 1

        while left < right:
            current_sum = nums[i] + nums[left] + nums[right]

            if current_sum == target:
                return current_sum

            # 更新最接近的和
            if abs(current_sum - target) < abs(closest_sum - target):
                closest_sum = current_sum

            if current_sum < target:
                left += 1
            else:
                right -= 1


    return closest_sum


nums = [-1,2,1,-4]
target = 1
result = threeSumClosest(nums, target)
print(result)  # 2

2.以下是一个函数的示例代码,它接受一个32位有符号整数x,并返回其数字部分反转后的结果。如果反转后的整数超出了32位有符号整数的范围[-2^31, 2^31-1],则返回0,假设环境不允许存储64位整数

def reverse_integer(x):
   INT_MAX = 2 ** 31 - 1
   INT_MIN = -2 ** 31

   sign = 1
   if x < 0:
       sign = -1
       x = -x

   reversed_num = 0
   while x > 0:
       reversed_num = reversed_num * 10 + x % 10
       x //= 10

       if reversed_num > INT_MAX or reversed_num < INT_MIN:
           return 0

   return sign * reversed_num

res=reverse_integer(123)
print(res)  # 321

3. 以下是一个函数的示例代码,它接受字符串s和t,并返回s中包含t所有字符的最小子串。如果s中不存在包含t所有字符的子串,则返回空字符串''

from collections import Counter

def min_window(s, t):
    # 计算t中每个字符的出现次数
    target_counts = Counter(t)
    required_chars = len(target_counts)

    # 初始化指针和计数器
    left = 0
    right = 0
    formed_chars = 0
    window_counts = {}

    # 记录最小字串的起始位置和长度
    min_length = float('inf')
    min_window_start = 0

    while right < len(s):
        # 扩展窗口
        char = s[right]
        window_counts[char] = window_counts.get(char, 0) + 1

        # 当前字符在t中,并且其出现次数匹配
        if char in target_counts and window_counts[char] == target_counts[char]:
            formed_chars += 1

        # 尝试收缩窗口
        while formed_chars == required_chars and left <= right:
            # 更新最小字串的长度和起始位置
            if right - left + 1 < min_length:
                min_length = right - left + 1
                min_window_start = left

            # 收缩窗口左边界
            char = s[left]
            window_counts[char] -= 1

            if char in target_counts and window_counts[char] < target_counts[char]:
                formed_chars -= 1

            left += 1

        right += 1

    if min_length == float('inf'):
        return ''
    else:
        return s[min_window_start:min_window_start + min_length]

s = "ADOBECODEBANC"
t = "ABC"
min_substring = min_window(s, t)
print(min_substring)  # BANC

4.

标签:总结,right,target,nums,sum,计算题,整数,counts
From: https://www.cnblogs.com/zhanglanhua/p/17421061.html

相关文章

  • Redhat7.3linux系统防火墙命令总结
    在Linux系统部署皕杰报表后,需要关闭防火墙或者开放报表工具使用的端口,才能通过浏览器访问报表。在linux中如何关闭防火墙或开启端口呢?基本上是基于命令操作。通过几天的实践,总结了有关防火墙的操作命令,现记录如下。systemctlstatusfirewalld:查看防火墙状态systemctlstartfirewa......
  • 2023江西省赛赛后总结
    大一acmer的第二场线下赛(第一场是天梯赛。去年省赛是线上赛,结果我还因为时间冲突没有去,最后只有我的两个队友去了),比赛前一天晚上睡不着,早上坐车去比赛的时候就一直很困,比赛开始后却立马精神了。最后只过了四题,拿了个三等奖,我好菜啊。。。。。。别人都是fake,只有我是真菜。。。......
  • 【杂文随笔】2017年总结 送自己一个字
    .......
  • 【杂文随笔】2019年总结 送自己一个字
    ......
  • 信息收集学习笔记总结
    1.域名信息(来自csdn)在渗透测试过程中,一般在目标的主站很少有发现漏洞点的存在,这时候我们就要从从主站之外的接口进行渗透测试,这时我们可以从域名出发收集信息。(1)端口一个网站可能会开放多个不同的端口,而我们可以通过同一网站的不同端口进行测试,扫描开放端口的......
  • 办公位2.0,用SVG实现Chrome浏览器图标,文末有近半年经验总结
    功能拆解很多图形的实现并不困难,我之前的文章也实现过各式各样的图形。基本是CSS里的样式约熟悉,图形实现的越快速、越相似。还有一些需要SVG或Canvas实现的图形,这就需要这两项技术的基本功扎实了。简单图形设计整个画面中有很多图形,有些图形比如画框、太阳、桌腿、便签,无论是形状还......
  • c语言程序设计知识点总结03
    c语言程序设计知识点总结03地址(Address):计算机的内存由若干个字节内存单元构成,每个字节内存单元都有一个唯一的地址用于区分和存取单元中的数据。形式上,地址是一个无符号整数,从0开始,依次递增,在表达和交流时,通常把地址写成十六进制数。指针(Pointer):一个变量,它存有另外一......
  • 小迪安全1-6集重要知识总结
    1.DNS:域名系统(DomainNameSystem,DNS)是Internet上解决网上机器命名的一种系统。 就像去一个人的家,要知道去的路线一样.在访问域名时DNS会解析域名为ip地址,跟Hosts文件中的数据进行比对,如果文件中含有该ip地址,直接快速访问,若没有就交给服务器2.web的组成框架: 网站源码:分......
  • 23年春面向对象第三单元分析和总结
    23年春面向对象第三单元分析和总结目录概述JML JML基本 JML表达式 局部容器 操作符架构 连通块数目查询 三元环数目查询 最小环查询测试 测试的分类 测试工具 构造测试用例 OKtestbug分析总结概述  OO第三单元主要围绕着JML(JavaModelingLan......
  • 设计模式总结
    2023年05月21日18:17:36设计模式分类创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式、简单工厂模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式......