订阅后:请点击此处观看视频课程
****-算法设计与编算法设计与编程实践---基于leetcode的企业真题库程实践-C/C++
学习有效期:永久观看
学习时长:1788分钟
学习计划:30天
难度:中
「口碑讲师带队学习,让你的问题不过夜」
讲师姓名:夏曹俊
CEO/董事长/总经理
讲师介绍:夏曹俊:南京捷帝科技有限公司创始人,南京大学计算机硕士毕业,有15年c++跨平台项目研发的经验,领导开发过大量的c++虚拟仿真,计算机视觉,嵌入式图像处理,云安全审计项目,比赛鹰眼系统,主编出版过《C++实训教程》,并同时熟悉php,c#,java,安卓项目研发。
☛点击立即跟老师学习☚
「你将学到什么?」
算法设计与分析是考察程序开发人员技术水平的重要内容之一,并且在企业面试、日常工作、都占有重要的地位。然而,不同与数据结构,初步进入软件开发行业的学员往往对于算法存在敬畏和畏怯的心理。为了帮助广大学员朋友切实提升程序开发技巧,积累学习信心,克服畏难情绪,丁宋涛和夏曹俊老师共同精心设计了本门课程。丁宋涛老师常年服务于普通类本科院校的教育教学,同时拥有蓝桥杯全国二等奖、省赛一等奖的指导经验,拥有专业性的教学指导经验;同时,本课程从北京大学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随时随地学习
满足不同场景学习需求,不受空间、地域限制。
- 内推机会
CSDN联合大厂博客专家,为优秀学员推荐具有竞争力的工作机会 。
☛点击立即跟老师学习☚
「什么样的技术人适合学习?」
- 想进入技术行业,但是面对多门编程语言不知如何选择,0基础的你
- 掌握技术单一、冷门,迫切希望能够转型的你
- 想进入大厂,但是技术不够丰富,没有竞争力的你
「悉心打造精品好课,30天学到大牛3年项目经验」
【完善的技术体系】
技术成长循序渐进,帮助用户轻松掌握
掌握C/C++知识,扎实编码能力
【清晰的课程脉络】
浓缩大牛多年经验,全方位构建出系统化的技术知识脉络,同时注重实战操作。
【仿佛在大厂实习般的课程设计】
课程内容全面提升技术能力,系统学习大厂技术方法论,可复用在日后工作中。
☛点击立即跟老师学习☚
「你可以收获什么?」
1.结合openjudge网站,从细节入手,点滴积累程序设计与算法分析的基本技能,帮助学员客服算法学习的困难。
2.踏踏实实做教育,真真切切讲技术,结合leetcode企业笔试面试题库储备过关技巧。
3.结合stl、熟练运用数据结构,达到学以致用的根本目的。