草稿箱,暂存,无用请忽略(12,对分)

140

n,m=map(int,input().split())
a=[]
for i in range(n):
    a.append(int(input()))
L=0
R=n-1
f=False
while L<=R and f==False:
    mid=(L+R)//2
    if m==a[mid]:
        f=True
    elif m>a[mid]:
        L=mid+1
    else:
        R=mid-1
if f==True:
    print("yes")
else:
    print("no")

141

def exist(key):
    L=0
    R=n-1
    while L<=R:
        m=(L+R)//2
        if key==a[m]:
            return True
        elif key>a[m]:
            L=m+1
        else:
            R=m-1
    return False

n=int(input())
a=[]
for i in range(1,n+1):
    a.append(int(input()))
m=int(input())
for i in range(m):
    key=int(input())
    if exist(key)==True:
        print("yes")
    else:
        print("no")
        
   

142

n=int(input())
a=[]
for i in range(n):
    a.append(int(input()))
key=int(input())
L=0
R=n-1
while L<=R:    #查找左端点
    m=(L+R)//2
    if key<=a[m]:
        R=m-1
    else:
        L=m+1
if a[L]!=key:
    print("no")
else:
    ansL=L  #保存左端点
    R=n
    while L<=R:  #查找右端点
        m=(L+R)//2
        if key<a[m]:
            R=m-1
        else:
            L=m+1
    if ansL==R:
        print(ansL)
    else:
        print(ansL,R)

143

import math
n=int(input())
L=0
R=2000000000
while L<=R:
    m=(L+R)//2
    if n>int(m*math.log10(m))+1:
        L=m+1
    else:
        R=m-1
print(L)

144

def check(x):
    tot=1
    s=0
    for i in range(n):
        if s+a[i]<=x:
            s=s+a[i]
        else:
            s=a[i]
            tot+=1
    if tot<=k:
        return True
    else:
        return False

n,k=map(int,input().split())
max=0
sum=0
a=[]
for i in range(n):
    a.append(int(input()))
    if a[i]>max:
        max=a[i]
    sum+=a[i]
while max<=sum:
    mid=(max+sum)//2
    if check(mid)==False:
        max=mid+1
    else:
        sum=mid-1
print(max)

145

def check(x):
    tot=0
    s=0
    for i in range(n):
        if s+a[i]<x:
            s+=a[i]
        else:
            s=0
            tot+=1
    if tot>=k:
        return True
    else:
        return False

n,k=map(int,input().split())
min=10000000
sum=0
a=[]
for i in range(n):
    a.append(int(input()))
    if a[i]<min:
        min=a[i]
    sum+=a[i]
while min<=sum:
    mid=(min+sum)//2
    if check(mid)==True:
        min=mid+1
    else:
        sum=mid-1
print(min-1)

146

high=[]
n,m=map(int,input().split())
left=0;right=0
for i in range(n):
    high.append(int(input()))
    if high[i]>right:
        right=high[i]
while left<=right:
    mid=(left+right)//2
    tmp=0
    for i in range(n):
        if high[i]>mid:
            tmp=tmp+high[i]-mid
    if tmp<m:
        right=mid-1
    else:
        left=mid+1
print(right)

147

#函数功能:检查能否在设定的时间内完成晾衣服的任务
def check(m):
    k=0
    for i in range(n):
        j=clothes[i]-a*m #如果不进烘干机 能减轻A*M的湿度
        if j<=0:continue #即已经干了
        y=j/b #如果没干,要进烘干机,y即为烘干时间
        if j%b!=0:y+=1
        k+=y #所有衣服烘干的时间
        if k<=m:
            return True
        else:
            return False

clothes=[]
n,a,b=map(int,input().split())
for i in range(n):
    clothes.append(int(input()))
left=0;right=max(clothes)
while left!=right:
    m=(left+right)//2
    if check(m):
        right=m
    else:
        left=m+1
print(left)

148

def judge(temp):
    sum=0
    for i in range(n):
        sum=sum+a[i]//temp
    return sum

a=[]
n,k=map(int,input().split())
for i in range(n):
    a.append(int(input()))
left=0;right=max(a)
while left<=right:
    m=(left+right)//2
    if judge(m)>=k:
        ans=m
        left=m+1
    else:
        right=m-1
print(ans)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis是一种内存数据库,可以用于实现草稿箱功能。下面是一个使用Redis实现草稿箱的简单示例: 1. 连接到Redis:首先,你需要通过Java Redis客户端连接到Redis数据库。例如,可以使用Jedis或Lettuce等流行的Redis客户端库。 2. 保存草稿:当用户选择保存内容为草稿时,将草稿的内容存储在Redis中。可以使用哈希表(Hash)来表示每个草稿,其中键是草稿的唯一标识符,而字段和值可以表示草稿的各个属性,如标题、内容和创建时间等。 ```java Jedis jedis = new Jedis("localhost", 6379); String draftId = "draft:123"; Map<String, String> draftData = new HashMap<>(); draftData.put("title", "My Draft"); draftData.put("content", "This is my draft content"); draftData.put("created", "2021-10-01"); jedis.hmset(draftId, draftData); ``` 3. 获取草稿:当用户需要编辑草稿时,通过草稿的唯一标识符从Redis中获取草稿的详细信息。 ```java Map<String, String> draftData = jedis.hgetAll(draftId); String title = draftData.get("title"); String content = draftData.get("content"); // 显示在编辑界面供用户修改 ``` 4. 更新草稿:当用户对草稿进行修改后,更新Redis中对应草稿的内容。 ```java Map<String, String> updatedData = new HashMap<>(); updatedData.put("title", "Updated Draft"); updatedData.put("content", "This is the updated draft content"); jedis.hmset(draftId, updatedData); ``` 5. 删除草稿:如果用户决定删除草稿,从Redis中删除对应的草稿数据。 ```java jedis.del(draftId); ``` 需要注意的是,上述示例只提供了基本的操作,实际应用中可能还需要考虑并发访问、草稿列表的管理、过期时间设置等其他方面的功能。此外,你还可以根据具体需求添加其他字段或操作来扩展草稿功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值