Python
蹊言君
努力就好
展开
-
Python实现简单遗传算法
本程序用于遗传算法求解函数最大值:f(x)=x+10sin(5x)+7cos(4x),0<=x<=9 主要过程有初始化种群,基因编码,计算目标函数值,求解适应度函数,自然选择(采用轮盘赌算法),基因交换,基因突变。 初始化种群:pop = [[0, 1, 0 , 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0] for i in range(p...原创 2018-02-26 11:35:33 · 1590 阅读 · 0 评论 -
Python二维数组赋值问题
当我们采用s=[[0]*3]*2初始化一个数组,然后对s[0][0]进行赋值,改变的是第一列所有的值。因为用s = [[0]*3]*2 初始化数组,他表示的是指向这个列表的引用,所以当你修改一个值的时候,整个列表都会修改。换一种初始化方式,就可以解决这个问题:写这个主要是因为今天在写【机器人的运动范围问题】:地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上...原创 2018-03-30 15:29:42 · 23306 阅读 · 2 评论 -
[剑指Offer题集] 机器人的运动范围(Python)
题目描述:地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?完整代码:# -*- coding:utf-8...原创 2018-03-30 15:35:06 · 366 阅读 · 0 评论