leetcode
极致 for 简单
贵在坚持
展开
-
动态规划算法
分治法:原问题分解为多个互不相交的子问题,组合子问题的解得到原问题的解。动态规划法:不同的子问题具有公共的子子问题,使用分治法来解决具有公共子子问题的原问题,会有同一规模问题被多次重复计算。动态规划法,将每一个规模的解存储在表格中,使得不会重复计算。求解最优化问题,问题有多个可行解,每个解对应一个值,找到最优解使得其对应的值最大或最小。设计一个动态规划算法:1、刻画一个最优解的结构特征...原创 2020-03-08 18:32:42 · 198 阅读 · 0 评论 -
单链表上的操作
为何创建头结点?生成链表时,先创建头结点,在插入的过程中(while循环中),都遵循p->next=new Node(value)。否则,需要加入条件判断来处理两种case,第一个元素,不做插入处理,后续元素做插入处理。给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则...原创 2020-03-06 21:02:18 · 153 阅读 · 0 评论 -
哈希表原理+C++实现+应用
哈希表是一种有效的动态集合结构,插入、删除、查找平均运行时间为O(1)。1、直接寻址表如果集合的全域有限且表中元素个数与全域个数接近,直接寻址表是一种高效的数据结构。插入、删除、平均运行时间均为O(1)。数组的索引是全域中的元素值。2、链式哈希表全域中元素值的哈希函数作为数组的索引,故哈希表有适当的大小。全域元素个数总归是大于表中元素个数,必定会产生冲突。解决冲突,常用两种方式:链接法和开...原创 2020-03-05 12:14:11 · 1343 阅读 · 0 评论