【Python】平衡点和支配点问题
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】平衡点和支配点问题相关推荐
- Python对5支股票的投资组合进行分析
前言:现在网络上有很多文章,数据和代码都不全,胖哥对此重新梳理后,把用到的数据和代码全部奉上,如果想直接要数据和代码,请查看文档最后!!! 概述: 目前,金融市场总是变幻莫测,充满了不确定因素,是一个 ...
- Python平衡点问题
平衡点问题 假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点 比如一个列表 numbers = [1,3,5,7,8,25,4,20],25前面的总和为24,25后面的总和 ...
- 使用Python评估一支股票的价格
本文使用DCF(Discounted Cash Flow)自由现金流折现法评估股票的当前价值. 我们选择贵州茅台(600519)来开展实验. 1.首先,我们获取2019.2020.2021茅台年报的财 ...
- PYTHON 画一支圆珠笔
import turtle t=turtle.Pen turtle.color("gold")#画笔颜色 turtle.fillcolor("red")#笔身 ...
- python面试题汇总(1)
1. (1)python下多线程的限制以及多进程中传递参数的方式 python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只能有一个线程使用解释器, ...
- python面试题37道(附答案)看完面试不愁了
1. (1)python下多线程的限制以及多进程中传递参数的方式 python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只能有一个线程使用解释器, ...
- python 从地址获取数据失败怎么解决_python面试题大全
1. (1)python下多线程的限制以及多进程中传递参数的方式 python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只能有一个线程使用解释器, ...
- python查询和替换一个文本字符串_【Python】python面试题
一些Python面试题 1. (1)python下多线程的限制以及多进程中传递参数的方式 python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只 ...
- 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.支配点 ...
最新文章
- Linux动态频率调节系统CPUFreq之一:概述【转】-- 非常好的博客
- speech-transforms 之语音识别
- 波分复用和频分复用计算机,11. 波分复用:80路以上频分复用,从2.5到20Gb每秒...
- Linux clear指令
- mac地址厂商对应表_网络工程师一分钟搞懂MAC地址表知识点全部内容,建议收藏...
- 【Android】init.rc
- mysql锁机制 php_MySQL锁机制和PHP锁机制
- how to use webpart container in kentico
- 咨询笔记:麦肯锡7步成诗
- 硅谷Web 2.0时代即将结束? 实用型公司更受关注
- Loadrunner如何监控Linux系统资源
- 在Netty中使用Apache common fileupload
- 使用pygal展示世界各国人口分布情况
- html 倒计时 插件,jquery.jcountdown.js倒计时插件(推荐)
- 小区报修管理系统c语言,小区物业报修管理系统的设计与实现.pdf
- 人工智能导论期末复习重点
- linux系统Redis下载安装步骤
- 蓝牙软件测试指标,蓝牙测试简介
- 成功解决无法写入输出文件,此实现不是Windows平台FIPS验证加密算法的一部分
- 独立站谷歌付费广告关键词选词技巧实操
热门文章
- Android 网络改变监听
- 从自助到共享,移动物联卡共享洗衣机这阵风口能吹多久?
- LODOP打印控件示例
- ubuntu 20.04 | 安装 Anaconda3
- MiniSMB网络测试 - 免费专业的2.5g网卡测试方案
- python闯关训练营怎么样3.0_【新升级】3周!0基础Python量化投资!闯关式学习打卡,解锁新技能!...
- 137/138/139/445端口
- 推荐系统的 ctr cxr rpm
- c语言库函数strncmp,C语言 strncmp
- Java后端自顶向下方法——过滤器与回调函数