zoukankan      html  css  js  c++  java
  • Little Tricks

    一直都计划好好学算法,一直都计划好好看书刷题,却几乎从来没更新过(算法)博客,几乎从来没有花苦功夫学过。

    糜烂的四月,最后一天,更新一些自己看到的小 trick 吧,以后一定要多多更新算法博客。

    1. 一道小学三年级的数学题:

    【题目】:5□5□5□5□5=1
    每个方框中都可选择填入+-×÷,不能添加括号,使得上式成立。

    >>> from itertools import product
    >>> [x for x in product(['', '+', '-', '*', '/'], repeat = 4) if eval('5%s5%s5%s5%s5' % x) == 1]
    [('', '/', '-', '-')]

    2. 不用 loop or library funtion 实现 list 的求和。

    sum_t = 0
    L = range(10)
    def plus(x):
        global sum_t
        sum_t += x
        return sum_t
    print(list(map(plus, L))[-1])
    from functools import reduce
    L = range(20)
    reduce(lambda x, y : x + [x[-1] + y], L, [0])[-1]
    def cumsum(L):
        if L[ : -1] == []:
            return L
        ret = cumsum(L[ : -1])
        ret.append(ret[-1] + L[-1])
        return ret

    3. C++ 10行内实现八皇后。

  • 相关阅读:
    APIO2018 题解
    【THUWC2017】在美妙的数学王国中畅游(bzoj5020)
    【bzoj3270】博物馆
    【库存】NOI笔试习题集
    装饰器
    异常
    类的详解
    函数
    流程控制
    运算符
  • 原文地址:https://www.cnblogs.com/niuxichuan/p/6790716.html
Copyright © 2011-2022 走看看