顺时针打印矩阵 题目描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下 4 X 4 矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字 1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,1 ...
分类:
其他好文 时间:
2020-04-17 00:26:10
阅读次数:
58
1.链表中倒数第 k 个结点 问题描述: 输入一个链表,输出该链表中倒数第 k 个结点。 解题思路 1: 因为要求链表倒数第 k 个节点,也就是求正数第 length k 个节点。整体过程如下: 链表又是个单链表,并且没有保存长度信息。所以需要循环一次计算 length。 第二次循环找到第 leng ...
分类:
其他好文 时间:
2020-04-16 22:13:31
阅读次数:
72
题目描述:一次股票交易包含买入和卖出,只进行一次交易,求最大收益。 只要记录前面的最小价格,将这个最小价格作为买入价格,然后将当前的价格作为售出价格,查看当前收益是不是最大收益。 主要解题思路是转换成求最大连续子数组,整理了三个解法,单调栈我是没有想到的。。 常规解: 1. class Soluti ...
分类:
其他好文 时间:
2020-04-16 10:34:17
阅读次数:
97
一:解题思路 采用二分搜索的思想来做。 Time:O(log(n)),Space:O(1) 二:完整代码示例 (C++版和Java版) C++: class Solution { public: int findPeakElement(vector<int>& nums) { if (nums.si ...
分类:
编程语言 时间:
2020-04-15 21:14:01
阅读次数:
80
一:解题思路 Time:O(n^(target/min)),Space:O(target/min) ,其中n为数组长度,min是数组中的最小值。 二:完整代码示例 (C++版和Java版) C++: class Solution { private: void comSum(vector<int>& ...
分类:
其他好文 时间:
2020-04-15 18:37:51
阅读次数:
88
题目描述 给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例: 解题思路 假设矩阵中存在一个最大矩形,我们不妨将它底边一下的矩阵挡住,把“1”看作实心柱体,把“0”看作空心,跟84题就非常相似了。唯一不同的就是,我们这里还有一些悬空的柱子。不过没有关系,我 ...
分类:
其他好文 时间:
2020-04-15 13:50:06
阅读次数:
68
解题思路:先判断当前节点是否为空,不为空则加入路径中,若不为空,判断该节点是否为叶子节点,为叶子节点则将路径加入答案,否则继续递归左右子树.给定一个二叉树,返回所有从根节点到叶子节点的路径。说明:叶子节点是指没有子节点的节点。示例:输入:1/\23\5输出:["1->2->5","1->3"]解释:所有根节点到叶子节点的路径为:1->
分类:
编程语言 时间:
2020-04-15 10:43:44
阅读次数:
88
一:解题思路 Time:O(n),Space:O(1) 二:完整代码示例 (C++版和Java版) C++: class Solution { public: void nextPermutation(vector<int>& nums) { if (nums.size() == 0) return ...
分类:
编程语言 时间:
2020-04-14 18:41:59
阅读次数:
82
题面 题意 给定一个长度为 n 的数列 定义要求的回文子数列满足下图条件 其中 x 与 y 可以为 0 即这个回文子数列可以是 数字完全相同 的一个子数列 也可以是 只包含两种数字 ,且其中一种 平均分布 在另一种数字的两侧 求出最长的回文子数列长度 解题思路 在输入时往vector里记录下每个数字 ...
分类:
其他好文 时间:
2020-04-14 09:15:49
阅读次数:
62
题面 题意/解题思路 直接延用 Easy 版本的想法即可 详解见上一篇博客 "Codeforces 1335E1 Three Blocks Palindrome (easy version)" 完整程序 (93ms/2000ms) c++ include using namespace std; i ...
分类:
其他好文 时间:
2020-04-14 09:13:15
阅读次数:
59