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

列表补全

在商城的某个位置有一个商品列表,该列表是由L1、L2两个子列表拼接而成。当用户浏览并翻页时,需要从列表L1、L2中获取商品进行展示。展示规则如下:

1. 用户可以进行多次翻页,用offset表示用户在之前页面已经浏览的商品数量,比如offset为4,表示用户已经看了4个商品

2. n表示当前页面需要展示的商品数量

3. 展示商品时首先使用列表L1,如果列表L1长度不够,再从列表L2中选取商品

4. 从列表L2中补全商品时,也可能存在数量不足的情况

请根据上述规则,计算列表L1和L2中哪些商品在当前页面被展示了

对于边界情况的检查

import sys
 
def main():
    inputs = sys.stdin.readline().strip()
    if inputs == '':
        sys.exit(0)
    data = list(map(lambda x: int(x), inputs.split(' ')))
    offset = data[0]
    n = data[1]
    l1 = data[2]
    l2 = data[3]
    end = offset + n - 1
    r1 = [offset if offset < l1 else l1, l1 if end>l1 else end+1]
    r2 = [0, 0]
    if offset <= l1:
        r2[0] = 0
        r2[1] = end - l1 + 1 if (end-l1+1) > 0 else 0
        r2[1] = r2[1] if r2[1] < l2 else l2
    elif offset >= l1+l2:
        r2[0] = l2
        r2[1] = l2
    else:
        r2[0] = offset - l1
        r2[1] = end - l1 + 1
        r2[1] = r2[1] if r2[1] < l2 else l2
 
    print r1[0], r1[1], r2[0], r2[1]
 
if __name__ == '__main__':
    while True:
        main()

相关文章:

  • 非托管资源的释放
  • 数三角形
  • 尝试写第一个js插件 图片轮播
  • 确定字符串互异
  • errno含义
  • 将满二叉树转换为求和树
  • JavaBean的学习
  • 排版页数
  • 最长回文串
  • 分享:Sersync试用
  • pstreegdb
  • 一点正则表达式的学习碎片
  • 链表分割
  • void*
  • python requests.session 与 requests
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 10个确保微服务与容器安全的最佳实践
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • Docker下部署自己的LNMP工作环境
  • Flex布局到底解决了什么问题
  • HashMap剖析之内部结构
  • java正则表式的使用
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • Python利用正则抓取网页内容保存到本地
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • SpiderData 2019年2月25日 DApp数据排行榜
  • webgl (原生)基础入门指南【一】
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 从伪并行的 Python 多线程说起
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 聊聊flink的BlobWriter
  • 前端js -- this指向总结。
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 学习HTTP相关知识笔记
  • 运行时添加log4j2的appender
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • ​Python 3 新特性:类型注解
  • # 透过事物看本质的能力怎么培养?
  • #NOIP 2014# day.1 T2 联合权值
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (rabbitmq的高级特性)消息可靠性
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (十) 初识 Docker file
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .net 4.0发布后不能正常显示图片问题
  • .Net Web项目创建比较不错的参考文章
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .net操作Excel出错解决
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • []C/C++读取串口接收到的数据程序
  • [CentOs7]iptables防火墙安装与设置