当前位置: 首页 > news >正文

蓝桥杯牛客1-10重点(自用)

1

import math

def lcm(a,b):
    return a * b // math.gcd(a, b)
# math.gcd(a, b)最小公倍数
a,b = map(int,input().split())
# a = int(input())  # 只读取一个整数
# print(a)
print(lcm(a,b))

2

import os
import sys

def fly(lists,n):
    count = 0
    flag = False
    for i in range(1,n):
        if lists[i] >  lists[i-1] :
            flag = True
        elif lists[i] < lists[i - 1] and flag :
            flag = False
            count += 1
    return count



n = int(input())
lists = list(map(int, input().split()))
print(fly(lists,n))

3.1

# Bob搜索

import os
import sys
def find(s):
    #字母 最大最小
    s = s.upper()
    # s = s.lower()
    return s.find("BOB")


s = input().strip() # 去掉首位两个字符

print(find(s))

3.2

# Bob搜索找到多个

import os
import sys
def find(s):
    s = s.upper()
    # s = s.lower()
    count = 0
    index = 0
    positions = []
    while True:
        index = s.find("BOB", index)
        if index == -1:
            break
        count += 1
        positions.append(index)  # 记录位置
        index += 1
    return count,positions


s = input().strip() # 去掉首位两个字符

print(find(s))

4

import os
import sys

def finish(n, r, p):
    n = n % p  # 对 n 进行取模操作
    res = 1  # 初始结果为 1
    while r > 0:
        if r % 2 == 1:  # 如果 r 是奇数
            res = (res * n) % p  # 更新结果
        n = (n * n) % p  # 对 n 平方
        r = r // 2  # B 右移
    return res

# 读取测试数据组数 T
T = int(input())

# 处理每组测试数据
# 在 Python 中,_ 是一个惯例,表示一个"占位符"或"不关心的变量"。当你不需要使用循环变量时,可以使用 _ 来代替。l
for _ in range(T):
    a, b, c = map(int, input().split())  # 输入 A, B, P
    print(finish(a, b, c))  # 输出结果

5

import os
import sys


def saolei(n,m,array):
    direction = [(-1,-1),(-1,0),(-1,1),(0,1),(0,-1),(1,1),(1,-1),(1,0)]
    result =[["0" for _ in range(m)] for _ in range(n)]
    for i in range(n):
        for j in range(m):
            if array[i][j] == "*":
                result[i][j]="*"
            else:
                sum = 0
                for x,y in direction:
                    dx,dy = i+x,j+y
                    if 0<=dx<n and 0<=dy<m and array[dx][dy]=="*":
                        sum += 1
                result[i][j]=str(sum)
    for row in result:
        # "".join(row) 的作用是 将 row 中的所有字符合并成一个字符串,不添加任何分隔符。
        print("".join(row))



n , m = map(int,input().split())
# n , m = map(int , input().strip())
array = [input().strip() for _ in range(n)]

saolei(n,m,array)
# 2 3
# qw e r
# r s g
# ['qw e r', 'r s g']
# print(array)

6


n,a=int(input()),0
for i in range(2,n+1):
    while n%i==0:
        n/=i
        a+=1
if n>1:
    a+=1
if a%2==1:
    print("Nancy")
else:
    print("Johnson")

7

import math


n = int(input())  # 读取数字的个数
nums = list(map(int, input().split()))  # 读取所有数字并转换为列表

# 计算最大差值
max_diff = max(nums) - min(nums)

print(max_diff)

8

n,m=map(int,input().split())
times=list(map(int,input().split()))
times.sort()
c=0
for t in times:
    if m>=t:
        m-=t
        c+=1
    else:
        break
print(c)

9

a=int(input())
b=a**(1/3)
print(f"{3*b:.3f}")
print(f"{3*b}")


n = 42
print(f"{n:d}")  # 输出: 42

pi = 3.14159
print(f"{pi:.2f}")  # 输出: 3.14

# f:用于格式化浮点数。
# .nf:表示保留 n 位小数。

value = 12.3456789
print(f"{value:.3f}")  # 输出: 12.346

large_number = 1234567890
print(f"{large_number:e}")  # 输出: 1.234568e+09

ratio = 0.75
print(f"{ratio:.2%}")  # 输出: 75.00%

# f"..." 表示这是一个格式化字符串。
# {name:s}:name 是要嵌入字符串中的变量,而 s 是格式说明符,表示将 name 格式化为字符串。
# 其实这里的 s 是多余的,因为 name 本身已经是一个字符串,默认就会被当作字符串处理。所以,{name} 和 {name:s} 的效果是一样的。
name = "Alice"
print(f"Hello, {name:s}")  # 输出: Hello, Alice



10.1

import heapq
n,m,k=map(int,input().split())
a=list(map(int,input().split()))
a=list(map(lambda x:-x, a))
# map(lambda x: -x, a)
# 通过 lambda x: -x 这个匿名函数,把列表 a 中的每个元素都取负值。
# map() 函数会对 a 中的每个元素执行 -x 操作,并返回一个 迭代器。
# list(...)
# map() 返回的是一个迭代器,需要用 list() 转换为列表 a。
heapq.heapify(a)
for _ in range(m): # O(m log n)
    while len(a)>k:
        heapq.heappop(a)
    s=list(map(int,input().split()))
    if s[0]==1:
        heapq.heappush(a,-s[1])
    else:
        if len(a)>=k:
            print(-a[0])
        else:
            print(-1)

10.2

n, m, k = map(int, input().split())  # 读取 n, m, k
a = list(map(int, input().split()))  # 读取初始数组

for _ in range(m):  # O(n * m log n)
    s = list(map(int, input().split()))  # 读取操作
    if s[0] == 1:  # 插入元素
        a.append(s[1])  # 直接追加到数组中
    else:  # 查询第 k 小的数
        if len(a) >= k:
            a.sort()  # 先排序(O(n log n))
            print(a[k - 1])  # 取第 k 小的元素
        else:
            print(-1)  # 数组元素不足 k 个

相关文章:

  • Tauri+React跨平台开发全场景问题解析
  • leetcode_字典树 140. 单词拆分 II
  • 普中51单片机和金沙滩51单片机的对比分析
  • 【实战 ES】实战 Elasticsearch:快速上手与深度实践-2.2.2线程池配置与写入限流
  • 【论文阅读笔记】SL-YOLO(2025/1/13) | 小目标检测 | HEPAN、C2fDCB轻量化模块
  • 【C++】使用 CMake 在 Windows 上自动化发布 C++/Qt 应用程序
  • 力扣-动态规划-300 最长递增子序列
  • AI预测福彩3D新模型百十个定位预测+胆码预测+杀和尾+杀和值2025年3月3日第11弹
  • VS2022远程调试Ubuntu中的C++程序
  • Windows10下本地搭建Manim环境
  • 【AVRCP】探寻AVRCP控制互操作性:连接、命令与设备交互
  • ArcGIS操作:10 投影坐标系转地理坐标系
  • Day 55 卡玛笔记
  • 华为 VRP 系统简介配置SSH,TELNET远程登录
  • SqlSugar 语法糖推荐方式
  • 【弹框组件封装】展示、打印、下载XX表(Base64格式图片)
  • win11编译pytorchvision cuda128版本流程
  • C++中读取与保存不同维度的csv数据
  • 计算机毕业设计SpringBoot+Vue.js图书馆管理系统(源码+文档+PPT+讲解)
  • Red Hat Enterprise Linux 发行日期!
  • 普京调整俄陆军高层人事任命
  • 华东政法与复旦上医签署合作框架协议,医学与法学如何交叉融合?
  • 人民日报:从“轻微免罚”看涉企执法方式转变
  • 十年磨一剑!上海科学家首次揭示宿主识别肠道菌群调控免疫新机制
  • 车载抬头显示爆发在即?业内:凭借市场和产业链优势,国内供应商实现反超
  • 前四个月人民币贷款增加10.06万亿元,4月末M2余额同比增长8%