视频教程-算法设计与编算法设计与编程实践---基于leetcode的企业真题库程实践-C/C++

扫码下载「CSDN程序员学院APP」,1000+技术好课免费看

APP订阅课程,领取优惠,最少立减5元 ↓↓↓

订阅后:请点击此处观看视频课程

 

视频教程-算法设计与编算法设计与编程实践---基于leetcode的企业真题库程实践-C/C++

学习有效期:永久观看

学习时长:1788分钟

学习计划:30天

难度:

 

口碑讲师带队学习,让你的问题不过夜」

讲师姓名:夏曹俊

CEO/董事长/总经理

讲师介绍:夏曹俊:南京捷帝科技有限公司创始人,南京大学计算机硕士毕业,有15年c++跨平台项目研发的经验,领导开发过大量的c++虚拟仿真,计算机视觉,嵌入式图像处理,云安全审计项目,比赛鹰眼系统,主编出版过《C++实训教程》,并同时熟悉php,c#,java,安卓项目研发。

☛点击立即跟老师学习☚

 

「你将学到什么?」

​《算法设计与编程实践---基于leetcode的企业真题库》主讲:丁宋涛

算法设计与分析是考察程序开发人员技术水平的重要内容之一,并且在企业面试、日常工作、都占有重要的地位。然而,不同与数据结构,初步进入软件开发行业的学员往往对于算法存在敬畏和畏怯的心理。为了帮助广大学员朋友切实提升程序开发技巧,积累学习信心,克服畏难情绪,丁宋涛和夏曹俊老师共同精心设计了本门课程。丁宋涛老师常年服务于普通类本科院校的教育教学,同时拥有蓝桥杯全国二等奖、省赛一等奖的指导经验,拥有专业性的教学指导经验;同时,本课程从北京大学onlinejudge入手,从浅入深的讲解基本算法的核心思想;再结合leetcode企业级真题库为广大程序员顺利求职加薪提供助力。leetcode是企业级笔试面试的专业题库,是广大求职人员都需要打磨、参考的宝贵资料。为了能脚踏实地的服务最广大的程序员朋友,本课程将以基础的形式为广大求职人员提供完备的参考手册,为提升薪资、获取高阶的工作机会提供切实有效的帮助。

 

「课程学习目录」

第1章:算法引论
1.课程介绍
2.引论:何谓算法、时间、空间复杂度和大O理论
3.算法的设计与选择:算法与数据结构的关系
4.算法时间复杂度分析基础(循环):规模n与初始状态影响分析
5.算法时间复杂度分析基础(递归)
第2章:算法设计初步:模拟法实现程序设计
1.循环设计算法的一类技巧:列表模拟探索算法规律
2.递归是模拟法的一种强有力表达:以自然数求组合为例
3.POJ 3237鸡兔同笼:openjudge使用与模拟法训练题
4.POJ 2808 校门外的树
5.POJ 2701 与7无关的数
第3章:暴力法与枚举程序设计思想
1.控制搜索规模是枚举成败的核心因素:枚举就是遍历集合空间可能解的过程
2.百钱百鸡问题:搜索空间的优化与枚举,
3.算式乘法问题:逆向观察降维搜索解空间
4.abcde/fghij=n:避免阶乘规模的枚举
5.1/k=1/x+1/y问题:未知范围下的枚举空间查找思路设计
6.POJ 2692 假币问题
7.POJ 4148 生理周期:OJ上time limit exceed现象的解决演示
8.POJ 4138 质数的和与积
第4章:递归与分治
1.分治法的思想:从曹冲称象来学习分治法的思想
2.分治与查找:找出一个序列中第k小的数
3.分治模式的套路:循环日程安排问题
4.子问题不相似的分治:棋盘覆盖问题
5.分治模式的套路:二分法是经典的分治思想
6.POJ 2787 24点游戏:递归分治法
7.POJ 2503 在线翻译:二分查找的经典应用
8.POJ 4143 和为给定的数
第5章:贪心算法
1.贪心思想概述:最优子结构与短作业优先算法的案例
2.最优装载问题
3.选择不相交区间问题
4.POJ 4110 圣诞老人的礼物
5.POJ 2287 田忌赛马问题
6.POJ 4137 最小新整数
第6章:动态规划
1.数塔问题:动态规划思想入门
2.最短编辑距离问题
3.最大连续子序列和
4.POJ 2533 最长上升子序列
第7章:笔试面试实战Leetcode(基础篇完全手册)
1.[1]两数之和:vs code 建立leetcode答题
2.[7] 整数反转
3.[9] 回文数
4.[13] 罗马数字转整数
5.[14]最长公共前缀
6.[20] 有效的括号
7.[21] 合并两个有序链表
8.[26] 删除排序数组中的重复项
9.[27] 移除元素
10.[28] 实现strStr()
11.[35] 搜索插入位置
12.[38] 报数
13.[53] 最大子序和
14.[58] 最后一个单词的长度
15.[66] 加一
16.[67] 二进制求和
17.[69] x 的平方根:经典的二分法思想
18.[70] 爬楼梯:经典的斐波那契数列与递归超时
19.[83] 删除排序链表中的重复元素
20.[88] 合并两个有序数组
21.[100] 相同的树
22.[101] 对称二叉树
23.[104] 二叉树的最大深度
24.[107] 二叉树的层次遍历 II
25.[108] 将有序数组转换为二叉搜索树
26.[110] 平衡二叉树
27. [111] 二叉树的最小深度
28.[112] 路径总和
29.[118] 杨辉三角
30.[119] 杨辉三角 II
31.[121] 买卖股票的最佳时机
32.[122] 买卖股票的最佳时机
33.[125] 验证回文串
34.[136] 只出现一次的数字
35.[141] 环形链表
36.[155] 最小栈
37.[160] 相交链表
38.[167] 两数之和 II
39.[168] Excel表列名称
40.[169] 求众数
41.[171] Excel表列序号
42.[172] 阶乘后的零
43.[189] 旋转数组
44.[190] 颠倒二进制位
45.[191] 位1的个数
46.[198] 打家劫舍
47.[202] 快乐数
48.[203] 移除链表元素
49.[204] 计数质数:筛选法求质数
50.[205] 同构字符串
51.[206] 反转链表
52.[217] 存在重复元素
53.[219] 存在重复元素 II
54.[225] 用队列实现栈
55.[226] 翻转二叉树
56.[231] 2的幂
57. [232] 用栈实现队列
58. [234] 回文链表
59.[235] 二叉搜索树的最近公共祖先
60.[237] 删除链表中的节点
61.[242] 有效的字母异位词
62.[257] 二叉树的所有路径
63.[258] 各位相加
64.[263] 丑数
65.[268] 缺失数字
66.[278] 第一个错误的版本
67.[283] 移动零
68.[290] 单词模式
69.[292]Nim 游戏
70.[303] 区域和检索 - 数组不可变
71.[326] 3的幂
72.[342] 4的幂
73.[344] 反转字符串
74.[345] 反转字符串中的元音字母
75.[349] 两个数组的交集
76.[350] 两个数组的交集 II
77.[367] 有效的完全平方数
78.[371] 两整数之和:不用+-计算两数之和
79.[374] 猜数字大小
80.[383] 赎金信
81.[387] 字符串中的第一个唯一字符
82.[389] 找不同
83.[400] 第N个数字
84. [401] 二进制手表
85.[404] 左叶子之和
86.[405] 数字转换为十六进制数
87. [409] 最长回文串
88.[412] Fizz Buzz
89.[414] 第三大的数
90.[415] 字符串相加
91.[427] 建立四叉树
92.[429] N叉树的层序遍历
93.[434] 字符串中的单词数
94.[437] 路径总和 III
95.[438] 找到字符串中所有字母异位词
96.[441] 排列硬币
97.[443] 压缩字符串
98.[447] 回旋镖的数量
99.[448] 找到所有数组中消失的数字
100.[453]最小移动次数使数组元素相等
101.[455] 分发饼干
102.[459] 重复的子字符串
103.[461] 汉明距离
104. [463] 岛屿的周长
105. [475] 供暖器
106. [476] 数字的补数
107. [482] 密钥格式化
108. [485] 最大连续1的个数
109. [492] 构造矩形
110. [496] 下一个更大元素 I
111. [500] 键盘行
112. [501] 二叉搜索树中的众数
113. [504] 七进制数
114.[506]相对名次
115. [507] 完美数
116. [509] 斐波那契数
117. [520] 检测大写字母
118. [521] 最长特殊序列 Ⅰ
119. [530] 二叉搜索树的最小绝对差
120. [532] 数组中的K-diff数对
121. [538] 把二叉搜索树转换为累加树
122. [541] 反转字符串 II
123. [543] 二叉树的直径
124. [551] 学生出勤记录 I
125. [557] 反转字符串中的单词
126. [558] 四叉树交集
127. [559] N叉树的最大深度
128. [561] 数组拆分 I
129. [563] 二叉树的坡度
130. [566] 重塑矩阵
131. [572] 另一个树的子树
132. [581] 最短无序连续子数组
133. [575] 分糖果
134. [589] N叉树的前序遍历
135.[598] 范围求和
136. [590] N叉树的后序遍历
137. [594] 最长和谐子序列
138.[606] 根据二叉树创建字符串
139.[617] 合并二叉树
140.[599] 两个列表的最小索引总和
141.[605] 种花问题
142.[628] 三个数的最大乘积
143.[633] 平方数之和
144.[637] 二叉树的层平均值
145.[643] 子数组最大平均数 I
146.[645] 错误的集合
147.[653] 两数之和 IV - 输入 BST
148.[657] 机器人能否返回原点
149.[661] 图片平滑器
150. [665] 非递减数列
151.[669] 修剪二叉搜索树
152.[671] 二叉树中第二小的节点
153.[674] 最长连续递增序列
154.[680] 验证回文字符串 Ⅱ
155.[682] 棒球比赛
156.[686] 重复叠加字符串匹配
157.[687] 最长同值路径
158.[690] 员工的重要性
159.[693] 交替位二进制数
160.[696] 计数二进制子串
161.[697] 数组的度: 巧用map<int
162.[700] 二叉搜索树中的搜索
163.[703] 数据流中的第K大元素
164.[704] 二分查找
165.[705] 设计哈希集合
166.[706] 设计哈希映射
167.[707] 设计链表:(cpp版力扣中国测试用例的干扰)与C/C++编程环境解决方案切换
168.[709] 转换成小写字母
169.[717] 1比特与2比特字符
170.[720] 词典中最长的单词
171.[724] 寻找数组的中心索引
172.[728] 自除数
173.[733] 图像渲染
174.[744] 寻找比目标字母大的最小字母
175.[746] 使用最小花费爬楼梯
176.[747] 至少是其他数字两倍的最大数
177.[748] 最短完整词
178.[754] 到达终点数字
179.[762] 二进制表示中质数个计算置位
180.[766] 托普利茨矩阵
181.[771] 宝石与石头
182.[783] 二叉搜索树结点最小距离
183.[784] 字母大小写全排列
184.[788] 旋转数字
185.[796] 旋转字符串
186. [804] 唯一摩尔斯密码词
187.[806] 写字符串需要的行数
188.[811] 子域名访问计数
189.[812] 最大三角形面积
190.[819] 最常见的单词
191.[821] 字符的最短距离
192.[824] 山羊拉丁文
193.[830] 较大分组的位置
194.[832] 翻转图像
195.[836] 矩形重叠
196.[840] 矩阵中的幻方
197.[844] 比较含退格的字符串
198.[849] 到最近的人的最大距离
199.[852] 山脉数组的峰顶索引
200.[859] 亲密字符串
201.[860] 柠檬水找零
202.[867] 转置矩阵
203.[868] 二进制间距
204.[872] 叶子相似的树
205.[874] 模拟行走机器人
206.[876] 链表的中间结点:快慢指针法
207.[883] 三维形体投影面积
208.[884] 两句话中的不常见单词
209.[888] 公平的糖果交换
210.[892] 三维形体的表面积
211.[893] 特殊等价字符串组
212.[896] 单调数列
213.[897] 递增顺序查找树
214.[905] 按奇偶排序数组
215.[908] 最小差值 I
216.[914] 卡牌分组
217.[917] 仅仅反转字母
218.[922] 按奇偶排序数组 II
219.[925] 长按键入
220.[929] 独特的电子邮件地址
221.[933] 最近的请求次数
222.[937] 重新排列日志文件
223.[938] 二叉搜索树的范围和
224.[941] 有效的山脉数组
225.[942] 增减字符串匹配
226.[944] 删列造序
227.[949] 给定数字能组成的最大时间
228.[953] 验证外星语词典
229.[961] 重复 N 次的元素
230.[965] 单值二叉树
231.[970] 强整数
232.[976] 三角形的最大周长
233.[977] 有序数组的平方
234.[985]查询后的偶数和
235.[989] 数组形式的整数加法
236.[993] 二叉树的堂兄弟节点
237.[994] 腐烂的橘子
238.[997] 找到小镇的法官
239.[999] 车的可用捕获量
240.[1002] 查找常用字符
241.[1005] K 次取反后最大化的数组和
242.[1009] 十进制整数的反码
243.[1010] 总持续时间可被 60 整除的歌曲
244.[1013] 将数组分成和相等的三个部分
245.[1018] 可被 5 整除的二进制前缀
246.[1021] 删除最外层的括号
247.[1022] 从根到叶的二进制数之和
248.[1025] 除数博弈
249.[1029] 两地调度
250.[1030] 距离顺序排列矩阵单元格
251.[1033]移动石子直到连续
252.[1037] 有效的回旋镖
253.[1041] 困于环中的机器人
254.[1042] 不邻接植花

 

7项超值权益,保障学习质量」

  • 大咖讲解

技术专家系统讲解传授编程思路与实战。

  • 答疑服务

专属社群随时沟通与讲师答疑,扫清学习障碍,自学编程不再难。

  • 课程资料+课件

超实用资料,覆盖核心知识,关键编程技能,方便练习巩固。(部分讲师考虑到版权问题,暂未上传附件,敬请谅解)

  • 常用开发实战

企业常见开发实战案例,带你掌握Python在工作中的不同运用场景。

  • 大牛技术大会视频

2019Python开发者大会视频免费观看,送你一个近距离感受互联网大佬的机会。

  • APP+PC随时随地学习

满足不同场景,开发编程语言系统学习需求,不受空间、地域限制。

 

「什么样的技术人适合学习?」

  • 想进入互联网技术行业,但是面对多门编程语言不知如何选择,0基础的你
  • 掌握开发、编程技术单一、冷门,迫切希望能够转型的你
  • 想进入大厂,但是编程经验不够丰富,没有竞争力,程序员找工作难。

 

「悉心打造精品好课,30天学到大牛3年项目经验」

【完善的技术体系】

技术成长循序渐进,帮助用户轻松掌握

掌握C/C++知识,扎实编码能力

【清晰的课程脉络】

浓缩大牛多年经验,全方位构建出系统化的技术知识脉络,同时注重实战操作。

【仿佛在大厂实习般的课程设计】

课程内容全面提升技术能力,系统学习大厂技术方法论,可复用在日后工作中。

 

「你可以收获什么?」

1.结合openjudge网站,从细节入手,点滴积累程序设计与算法分析的基本技能,帮助学员客服算法学习的困难。

2.踏踏实实做教育,真真切切讲技术,结合leetcode企业笔试面试题库储备过关技巧。

3.结合stl、熟练运用数据结构,达到学以致用的根本目的。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,我来用中文回复这个链接:https://leetcode-cn.com/tag/dynamic-programming/ 这个链接是 LeetCode 上关于动态规划的题目集合。动态规划是一种常用的算法思想,可以用来解决很多实际问题,比如最长公共子序列、背包问题、最短路径等等。在 LeetCode 上,动态规划也是一个非常重要的题型,很多题目都需要用到动态规划的思想来解决。 这个链接里包含了很多关于动态规划的题目,按照难度从简单到困难排列。每个题目都有详细的题目描述、输入输出样例、题目解析和代码实现等内容,非常适合想要学习动态规划算法的人来练习和提高自己的能力。 总之,这个链接是一个非常好的学习动态规划算法的资源,建议大家多多利用。 ### 回答2: 动态规划是一种算法思想,通常用于优化具有重叠子问题和最优子结构性质的问题。由于其成熟的数学理论和强大的实用效果,动态规划在计算机科学、数学、经济学、管理学等领域均有重要应用。 在计算机科学领域,动态规划常用于解决最优化问题,如背包问题、图像处理、语音识别、自然语言处理等。同时,在计算机网络和分布式系统中,动态规划也广泛应用于各种优化算法中,如链路优化、路由算法、网络流量控制等。 对于算法领域的序员而言,动态规划是一种必要的技能和知识点。在LeetCode这样的序员平台上,题目分类和标签设置十分细致和方便,方便序员查找并深入学习不同类型的算法。 LeetCode的动态规划标签下的题目涵盖了各种难度级别和场景的问题。从简单的斐波那契数列、迷宫问题到可以用于实际应用的背包问题、最长公共子序列等,难度不断递进且话题丰富,有助于开发人员掌握动态规划的实际应用技能和抽象思维模式。 因此,深入LeetCode动态规划分类下的题目学习和练习,对于序员的职业发展和技能提升有着重要的意义。 ### 回答3: 动态规划是一种常见的算法思想,它通过将问题拆分成子问题的方式进行求解。在LeetCode中,动态规划标签涵盖了众多经典和优美的算法问题,例如斐波那契数列、矩阵链乘法、背包问题等。 动态规划的核心思想是“记忆化搜索”,即将中间状态保存下来,避免重复计算。通常情况下,我们会使用一张二维表来记录状态转移过中的中间值,例如动态规划求解斐波那契数列问题时,就可以定义一个二维数组f[i][j],代表第i项斐波那契数列中,第j个元素的值。 在LeetCode中,动态规划标签下有众多难度不同的问题。例如,经典的“爬楼梯”问题,要求我们计算到n级楼梯的方案数。这个问题的解法非常简单,只需要维护一个长度为n的数组,记录到达每一级楼梯的方案数即可。类似的问题还有“零钱兑换”、“乘积最大子数组”、“通配符匹配”等,它们都采用了类似的动态规划思想,通过拆分问题、保存中间状态来求解问题。 需要注意的是,动态规划算法并不是万能的,它虽然可以处理众多经典问题,但在某些场景下并不适用。例如,某些问题的状态转移过比较复杂,或者状态转移方中存在多个参数,这些情况下使用动态规划算法可能会变得比较麻烦。此外,动态规划算法也存在一些常见误区,例如错用贪心思想、未考虑边界情况等。 总之,掌握动态规划算法对于LeetCode的学习和解题都非常重要。除了刷题以外,我们还可以通过阅读经典的动态规划书籍,例如《算法竞赛进阶指南》、《算法与数据结构基础》等,来深入理解这种算法思想。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值