zoukankan      html  css  js  c++  java
  • python试题[转]

    转自:http://forum.ubuntu.org.cn/viewtopic.php?t=260613

    1.平衡点问题

    平衡点:比如int[] numbers = {1,3,5,7,8,25,4,20}; 25前面的总和为24,25后面的总和也是24,25这个点就是平衡点;假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点
    要 求:返回任何一个平衡点

    2.支配点问题:
    支配数:数组中某个元素出现的次数大于数组总数的一半时就成为支配数,其所在位序成为支 配点;比如int[] a = {3,3,1,2,3};3为支配数,0,1,4分别为支配点;
    要求:返回任何一个支配点

    以下给 出我想的答案

    #1.平衡点问题

    代码
     1 # -*- coding: utf-8 -*- 
     2 
     3 data = [1357825420]
     4 
     5 def main() :
     6 
     7    dataIndex = []
     8    length = len(data)
     9    total = sum(data)
    10 
    11    if (length > 2) :
    12       tempSum = data[0]
    13       for i in range(1, length - 1) :
    14          if (tempSum * 2 + data[i] == total) :
    15             dataIndex.append(i)
    16          tempSum = tempSum + data[i]   
    17    
    18    return dataIndex
    19 
    20 if __name__ == "__main__" :
    21    print(main())

    #2.支配点问题

    代码
     1 # -*- coding: utf-8 -*-
     2 # 用dictionary实现,key存放所给的数,value为list,存放所给数在数组中的位置
     3 # 一个数可能在数组中出现多次
     4 
     5 data = [33123]
     6 
     7 def main() :
     8    dataIndex = []
     9    hashData = {}
    10 
    11    for i in range(0, len(data)) :
    12       key = data[i]
    13       if (key in hashData) :
    14          value = hashData[key]
    15          value.append(i)
    16       else :
    17          value = []
    18          value.append(i)
    19          hashData[key] = value
    20 
    21    halfLength = int(len(data) / 2)
    22    if (len(data) % 2 == 1) :
    23       halfLength = halfLength + 1
    24 
    25    for key in hashData :
    26       if (len(hashData[key]) >= halfLength) :
    27          dataIndex.append(hashData[key])
    28    
    29    return dataIndex
    30 
    31 if __name__ == "__main__" :
    32    print(main())

     要求算一任意长度字符串中不同的字符以及它的个数

    = "abcdefgabc"
    dic 
    = dict.fromkeys(s, 0)
    for x in s:
    dic[x] 
    += 1
    print '\n'.join('%s,%s' % (k, v) for k, v in dic.items())
  • 相关阅读:
    洛谷 P3146 [USACO16OPEN]248
    洛谷 P2633 Count on a tree
    bzoj 1040 1040: [ZJOI2008]骑士
    poj 3417 Network
    洛谷 P2149 [SDOI2009]Elaxia的路线
    2、小文件问题解决
    ☀【组件
    -_-#【JS】隐含全局变量
    -_-#flash播放器自适应
    -_-#【插件】MD5
  • 原文地址:https://www.cnblogs.com/nsnow/p/1714658.html
Copyright © 2011-2022 走看看