其然IT教育一直秉承“用良心做教育”的理念,致力于打造IT教育全产业链
人才服务平台,公司总部位于北京,目前已在深圳、上海、郑州、广州、大连、武汉、成都、西安、杭州、青岛、重庆、长沙、哈尔滨、南京、太原成
立了分公司,年培养优质人才20000余人,同期在校学员5000余人,合作院校超500所,合作企业超10000家,每年有数十万名学员受益于千锋互联组织
的技术研讨会、技术培训课、网络公开课及免费教学视频。
其然IT历程精彩纷呈,获得荣誉包括:中关村移动互联网产业联盟副理事长
单位、中国软件协会教育培训委员会认证一级培训机构、中关村国际孵化软件协会授权中关村移动互联网学院、教育部教育管理信息中心指定移动互联
网实训基地等。
其然IT教育面授课程包含HTML5大前端培训、JavaEE 分布式开发培训、
Python全栈 人工智能培训、全链路UI/UE设计培训、物联网 嵌入式培训、360网络安全、大数据 人工智能培训、全栈软件测试培训、PHP全栈 服务器
集群培训、云计算 信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证,采用全程面授高品质、高成本培养模式,教学大纲紧跟企业需求,拥
有全国一体化就业保障服务,成为学员信赖的IT职业教育品牌。
培训Java与自学Java的差距
我以前也是自学Java,在一家公司跟着别人学,以前是别人眼中的菜鸟,现
在是别人眼中的大神,Java很简单的,贵在坚持和多练,没必要花那培训钱。如果真的要去学的话,
选择Java培训机构要注意这两点基本上就能避免一些坑:
1. 老师没有正经公司工作经历,或者没有已经在线上正常运转的产品。一
些所谓培训班的老师水平往往比较一般,甚至还有培训出来后又接着培训别人的。
2、是不是会承诺帮你找到工作,要找到好的工作,不是靠别人给你保证的
,还是要靠自己提升能力。
建议多自己学习加上找些好的代码主动学习。例如github,多练习网上很多
网站里真正好的代码。作为Java工程师,可以多看看spring文档,看看很多已经成熟的框架,深入去体会。另外,学软件等等**好还是自己多学,找点
视频教程之类,也省点钱。
Java基础语法
Java基础语法
流程控制语句
Java 编译器执行流程
if 分支结构
switch 选择结构与相关规则
循环结构
for 循环
while 循环
do-while 循环语句
各语句性能对比与应用场景
特殊流程控制语句
方法的声明与使用
方法调用的过程分析
跨类调用方法
参数的值传递
方法的重载 Overload
264. Ugly Number II -Medium
>
Question
Write a PRogram to find the n-th ugly number.
Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 is the sequence of the first 10 ugly numbers.
Note that 1 is typically treated as an ugly number, and n does not exceed 1690.
找到第n个丑数。丑数是有限个2、3、5的乘积,例如1,2,3,4,5,6,8,9,10,12是前10个丑数(1是特殊的丑数)。n不大于1690
Example
见题目
Solution
动态规划解。我刚开始考虑的是dp[i]代表i是否为丑数,它的确定只需要知道dp[i % 2], dp[i % 3]和dp[i % 5],只要有一个是丑数,那么dp[i]必然也是丑数,然后统计丑数的个数直到n。可是这样我没法确定到底dp需要多大,所以需要换个思路。dp[i]应该代表第i个丑数,那么它的递推关系该怎么找呢?其实很简单,因为下一个丑数必然是乘以2,3或5中的**小的那个数,所以我们只需分别记下乘以2,乘以3,乘以5的**小的数的索引,那么 dp[i] = min(dp[index_2] * 2, dp[index_3] * 3, dp[index_5] * 5),每次得到dp[i]不要忘了更新索引就可以了(注意:因为有可能dp[index_2] * 2和dp[index_3] * 3是相等的,这种情况,两个索引都要更新)
class Solution(object):
def nthUglyNumber(self, n):
"""
:type n: int
:rtype: int
"""
dp = [0] * n
# 1为**个丑数
dp[0] = 1
# 从1开始向前寻找
index_2, index_3, index_5 = 0, 0, 0
for i in range(1, n):
dp[i] = min(dp[index_2] * 2, dp[index_3] * 3, dp[index_5] * 5)
# 这里不要elif,因为两个值可能相等,索引都需要更新
if dp[i] == dp[index_2] * 2: index_2 = 1
if dp[i] == dp[index_3] * 3: index_3 = 1
if dp[i] == dp[index_5] * 5: index_5 = 1
return dp[n - 1]
相关推荐:
苏州JAVA培训 苏州JAVA培训班 苏州JAVA培训机构