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

要求:返回任何一个平衡点

方法:平衡点两边的数求和相等,也就是sum(lsit)减去这个数之后再除以2等于这个数某一边的数求和

用一个变量来累加这个数左边的那一部分序列

def fore(list_):sum = sum(list_)balance = 0for num in numbers:if balance < (sum-num)/2:balance += numelse:breakif balance == (sum-num)/2:print("the balanced number is:{0}".format(num))else:print("balanced number not found!")if __name__ == '__main__':numbers = [1,3,5,7,8,25,4,20]fore(numbers)
>>> ================================ RESTART ================================
>>>
the balanced number is:25

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

要求:返回任何一个支配点

如果某数是支配点,那么它一定在排序后的list最中间,更多详情http://hi.baidu.com/ruclin/item/f2706f26b1d2db140975086b

def dominate_point(lst):b = sorted(a)candidate_donimate = b[int(len(b)/2)]num = 0for val in b:if val == candidate_donimate:num +=1if num>= int(len(b)/2):for i in range(len(a)):if candidate_donimate == a[i]:print("{0} is dominate point, the first sequence number is{1}".format(candidate_donimate, i))breakelse:print("no dominate point!")if __name__ == '__main__':a = [3,3,1,2,3]dominate_point(a) 
>>> ================================ RESTART ================================
>>>
3 is dominate point, the first sequence number is0          

【Python】平衡点和支配点问题相关推荐

  1. Python对5支股票的投资组合进行分析

    前言:现在网络上有很多文章,数据和代码都不全,胖哥对此重新梳理后,把用到的数据和代码全部奉上,如果想直接要数据和代码,请查看文档最后!!! 概述: 目前,金融市场总是变幻莫测,充满了不确定因素,是一个 ...

  2. Python平衡点问题

    平衡点问题 假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点 比如一个列表 numbers = [1,3,5,7,8,25,4,20],25前面的总和为24,25后面的总和 ...

  3. 使用Python评估一支股票的价格

    本文使用DCF(Discounted Cash Flow)自由现金流折现法评估股票的当前价值. 我们选择贵州茅台(600519)来开展实验. 1.首先,我们获取2019.2020.2021茅台年报的财 ...

  4. PYTHON 画一支圆珠笔

    import turtle t=turtle.Pen turtle.color("gold")#画笔颜色 turtle.fillcolor("red")#笔身 ...

  5. python面试题汇总(1)

    1. (1)python下多线程的限制以及多进程中传递参数的方式 python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只能有一个线程使用解释器, ...

  6. python面试题37道(附答案)看完面试不愁了

    1. (1)python下多线程的限制以及多进程中传递参数的方式 python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只能有一个线程使用解释器, ...

  7. python 从地址获取数据失败怎么解决_python面试题大全

    1. (1)python下多线程的限制以及多进程中传递参数的方式 python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只能有一个线程使用解释器, ...

  8. python查询和替换一个文本字符串_【Python】python面试题

    一些Python面试题 1. (1)python下多线程的限制以及多进程中传递参数的方式 python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只 ...

  9. python练习12

    1.下列程序的输出: def f(x,l=[ ] )for i in range(x):i.append(i * i)print(l) f (2) f (3,[ 3,2,1]) f (3) 2.支配点 ...

最新文章

  1. Linux动态频率调节系统CPUFreq之一:概述【转】-- 非常好的博客
  2. speech-transforms 之语音识别
  3. 波分复用和频分复用计算机,11. 波分复用:80路以上频分复用,从2.5到20Gb每秒...
  4. Linux clear指令
  5. mac地址厂商对应表_网络工程师一分钟搞懂MAC地址表知识点全部内容,建议收藏...
  6. 【Android】init.rc
  7. mysql锁机制 php_MySQL锁机制和PHP锁机制
  8. how to use webpart container in kentico
  9. 咨询笔记:麦肯锡7步成诗
  10. 硅谷Web 2.0时代即将结束? 实用型公司更受关注
  11. Loadrunner如何监控Linux系统资源
  12. 在Netty中使用Apache common fileupload
  13. 使用pygal展示世界各国人口分布情况
  14. html 倒计时 插件,jquery.jcountdown.js倒计时插件(推荐)
  15. 小区报修管理系统c语言,小区物业报修管理系统的设计与实现.pdf
  16. 人工智能导论期末复习重点
  17. linux系统Redis下载安装步骤
  18. 蓝牙软件测试指标,蓝牙测试简介
  19. 成功解决无法写入输出文件,此实现不是Windows平台FIPS验证加密算法的一部分
  20. 独立站谷歌付费广告关键词选词技巧实操

热门文章

  1. Android 网络改变监听
  2. 从自助到共享,移动物联卡共享洗衣机这阵风口能吹多久?
  3. LODOP打印控件示例
  4. ubuntu 20.04 | 安装 Anaconda3
  5. MiniSMB网络测试 - 免费专业的2.5g网卡测试方案
  6. python闯关训练营怎么样3.0_【新升级】3周!0基础Python量化投资!闯关式学习打卡,解锁新技能!...
  7. 137/138/139/445端口
  8. 推荐系统的 ctr cxr rpm
  9. c语言库函数strncmp,C语言 strncmp
  10. Java后端自顶向下方法——过滤器与回调函数