算法
第一视角丶
终身学习者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c++ 反转链表(双指针或栈)
方法一 栈 ListNode* reverseList(ListNode* head) { if(head == nullptr) return nullptr; stack<ListNode*> q; ListNode result(0); ListNode *cur = &result; ...原创 2020-03-04 23:18:21 · 768 阅读 · 0 评论 -
c++二分查找详解
对于一个有序数组,我们可以进行,二分查找,时间复杂度为O(log2) 主要问题 1.中位数的查找:mid = (left + right) / 2;当left和right差值为1时,mid就不再更新,因为两个相邻的数相加必然是奇数,然而计算机中的整数除法会舍弃小数部分。 2.结束循环的条件 一、 每次使mid必然移动一个,若要使mid改变,必然mid位置的值不等于目标值,所以直接使lef...原创 2020-02-29 21:11:47 · 522 阅读 · 0 评论 -
c++二叉树最大深度
递归 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */...原创 2020-02-02 15:08:05 · 281 阅读 · 0 评论 -
爬楼梯问题
S(n) = S(n-1) + S(n-2) + S(n-3);原创 2020-01-06 12:26:12 · 339 阅读 · 0 评论 -
一个数组有 N 个元素,求连续子数组的最大和
题目: 一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3 输入描述: 输入为两行。 第一行一个整数n(1 <= n <= 100000),表示一共有n个元素 第二行为n个数,即每个元素,每个 整数都在32位int范围内。以空格分隔。输出描述: 所有连续子数组中和最大的值。 示例1: 输入 3 -1 2 1 输出 3 ...原创 2019-11-11 20:19:41 · 1839 阅读 · 2 评论
分享