进击的丑胖 csdn
时间: 2023-12-28 20:01:31 浏览: 38
进击的丑胖csdn是一家创立于2017年的IT技术社区网站,致力于为广大IT爱好者分享最新的技术动态、行业资讯和实用教程。网站内容涵盖了计算机编程、软件开发、网络安全、人工智能等众多领域,为广大技术人员提供了一个学习、交流的平台。
进击的丑胖csdn网站秉承着“IT就是力量”的理念,不断推动技术的传播与应用,促进技术人员的成长和进步。通过分享优质的技术文章和视频教程,为初学者提供了学习的指导,同时也为专业人士提供了技术探讨的平台。网站还定期举办各种线上线下的技术活动和培训课程,帮助网友们不断提升自己的技术水平。
进击的丑胖csdn致力于打造一个开放、共享、互助的技术社区,通过积极的互动交流,激发每个技术爱好者的创造力和学习热情。网站目前拥有庞大的注册用户群体和访问量,是中国IT技术领域中具有影响力的垂直社区之一。未来,进击的丑胖csdn将继续不断完善和拓展站点功能,为更多的技术人员提供更全面、更便捷的学习和交流环境,助力他们在技术领域取得更大的成功。
相关问题
试题 算法训练 进击的青蛙
对于进击的青蛙的算法训练,可以提供一些思路和解法:
问题描述:有一只青蛙在跳台阶,它一次可以跳1个台阶或者2个台阶。请问,对于给定的n个台阶,青蛙有多少种跳法可以跳到第n个台阶上?
解法一:递归
青蛙跳到第n个台阶上的跳法数量,可以看成是青蛙从第n-1个台阶跳一步到达的跳法数量加上青蛙从第n-2个台阶跳两步到达的跳法数量,即f(n) = f(n-1) + f(n-2)。
使用递归的方式,可以编写如下的算法:
```python
def jump(n):
if n <= 2:
return n
else:
return jump(n-1) + jump(n-2)
```
这种方法虽然直观简单,但是存在大量的重复计算,效率较低。
解法二:动态规划
为了避免重复计算,可以使用动态规划的思想来解决问题。通过一个数组dp来保存中间结果,dp[i]表示青蛙跳到第i个台阶上的跳法数量。
初始条件为dp = 0,dp = 1,dp = 2。然后通过迭代计算出dp[i]的值,最后返回dp[n]即可。
具体的算法如下:
```python
def jump(n):
if n <= 2:
return n
dp = [0] * (n+1)
dp[1] = 1
dp[2] = 2
for i in range(3, n+1):
dp[i] = dp[i-1] + dp[i-2]
return dp[n]
```
这种方法时间复杂度为O(n),空间复杂度也为O(n)。
解法三:优化的动态规划
可以发现,解法二中的动态规划算法实际上只需要用到了三个变量,因此可以进一步优化空间复杂度。
具体的算法如下:
```python
def jump(n):
if n <= 2:
return n
a, b, c = 1, 2, 0
for i in range(3, n+1):
c = a + b
a, b = b, c
return c
```
这种方法的时间复杂度仍然为O(n),但是空间复杂度为O(1)。
以上就是几种解决进击的青蛙问题的算法训练方法,希望对你有帮助。
用python画图画一个实心进击的巨人
可以使用Python的matplotlib库绘制出实心的进击的巨人。以下是示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建画布
fig, ax = plt.subplots()
# 画出巨人的轮廓
circle1 = plt.Circle((0, 0), 1, color='gray')
circle2 = plt.Circle((0, 0), 0.8, color='white')
ax.add_artist(circle1)
ax.add_artist(circle2)
# 画出巨人的眼睛和嘴巴
eye1 = plt.Circle((-0.3, 0.3), 0.2, color='black')
eye2 = plt.Circle((0.3, 0.3), 0.2, color='black')
mouth = plt.Rectangle((-0.3, -0.5), 0.6, 0.2, color='black')
ax.add_artist(eye1)
ax.add_artist(eye2)
ax.add_artist(mouth)
# 设置画布范围
ax.set_xlim((-1.5, 1.5))
ax.set_ylim((-1.5, 1.5))
# 隐藏坐标轴
ax.set_axis_off()
# 显示图像
plt.show()
```
运行以上代码得到的结果就是一个实心的进击的巨人。