列表补全
发布日期:2021-05-13 00:13:08 浏览次数:12 分类:精选文章

本文共 987 字,大约阅读时间需要 3 分钟。

在商城的某个位置有一个商品列表,该列表是由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方法

发表评论

最新留言

很好
[***.229.124.182]2025年04月26日 17时14分55秒