zoukankan      html  css  js  c++  java
  • HackerRank刷题之路之---Algorithm(基于Python2)(持续更新)

    Lisa's Workbook:

     此题整体不难,只是在代码实现的时候易错,需要搞清楚好几层逻辑关系。

    有一本书,有n个章节,每个章节有一定数量的题目,每一章的题目从1开始索引,每一页上最多有k道题目,仅在某一章节结束的时候开启新的一页,页码从1开始,统计题目的索引数与页码数相同的题目的个数。

    Python2代码如下:

    n,k = map(int,raw_input().split())
    arr = map(int,raw_input().split())
    one_p,special,i = [0]*3
    p,c = [1]*2
    while True:
        i += 1
        one_p += 1
        if i == p: special += 1
        if i == arr[n-1] and c == n: break
        if i == arr[c-1]:
            c += 1
            i = 0
            one_p = 0
            p += 1
        if one_p == k:
            one_p = 0
            p += 1
    print special

     从此题目中获得启示,在有多重逻辑判定的时候,需要提前想好逻辑判断的先后顺序,一般是由大到小逐个判断,同时要搞清楚每一次判定成功后,需要改变的量是哪些。此题中先判断全书是否结束,然后是章节是否结束,最后判断本页是否结束。

     Find Digits:

    将一个整数的每一位数字取出来,然后统计这里面有几个可以整除这个整数。记录这个题目主要是记录一个小技巧,此题本身很简单,但是用Python可以更简洁:

    for i in xrange(input()):
        s = raw_input().strip()
        print sum([1 if int(s)%x == 0 else 0 for x in [x for x in map(int,s) if x > 0]])

    真正起作用的代码其实只有一行~这就是列表解析的强大之处。

  • 相关阅读:
    AngularJS方法 —— angular.bind
    rails 部署 nginx + passenger
    查找并删除
    rails 网站跨域
    From Ruby array to JS array in Rails- 'quote'?
    rails 网站字体
    form_tag
    bundle install 老是中断,可以在gemfile里面把source换成taobao源,可以自动安装
    ruby 功力修炼
    bootstrap 移动自适应界面
  • 原文地址:https://www.cnblogs.com/dn-harris/p/5972363.html
Copyright © 2011-2022 走看看