题目来源于力扣(LeetCode) 一、题目 832. 翻转图像 题目相关标签:数组 提示: 1 <= A.length = A[0].length <= 20 0 <= A[i][j] <= 1 二、解题思路 存在规律:先翻转再反转,而二维数组中的元素只有 0 和 1 两种 通过左右双指针来遍历矩 ...
分类:
其他好文 时间:
2020-06-11 21:37:34
阅读次数:
61
不积跬步,无以至千里;不积小流,无以成江海。 前言 内容主要是个人学习使用,题目分类以及部分参考资料来自于CyC的博客,非常感谢大佬,题目来源于LeetCode,非常感谢本站支持。 167. 两数之和 II - 输入有序数组(Easy) 👈 给定一个已按照升序排列的有序数组,找到两个数使得它们相加 ...
分类:
编程语言 时间:
2020-06-11 00:52:56
阅读次数:
61
问题描述 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1: 输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2: 输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()" 来源:力扣(LeetCode)链接:htt ...
分类:
其他好文 时间:
2020-06-07 12:38:20
阅读次数:
61
哈希表+双指针 思路 先排序,后遍历 题目要求找出最长连续序列的长度,注意是找出,所以数组中的元素有可能是重复的。 如何排除重复值,很容易就想到Set集合,所以转成Set集合 后续的遍历用到双指针,为了便于操作又把Set集合转数组,再排序。 因为用到Arrays.sort(),其时间复杂度 为O(n ...
分类:
其他好文 时间:
2020-06-06 21:24:58
阅读次数:
56
地址 https://leetcode-cn.com/problems/longest-consecutive-sequence/ 给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例: 输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: ...
分类:
其他好文 时间:
2020-06-06 21:23:22
阅读次数:
54
###编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 ###一、什么是双指针 双指针我所理解 ...
分类:
其他好文 时间:
2020-06-06 10:51:31
阅读次数:
71
双指针 解题思路:算法流程: 设定 i,j 两指针分别指向 num1,num2 尾部,模拟人工加法; 计算进位: 计算 carry = tmp // 10,代表当前位相加是否产生进位;添加当前位: 计算 tmp = n1 + n2 + carry,并将当前位 tmp % 10 添加至 res 头部; ...
分类:
其他好文 时间:
2020-06-04 00:56:08
阅读次数:
72
反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 双指针迭代 我们可以申请两个指针,第一个指针叫 pre,最初是指向 null 的。 第二个指针 cur 指向 head,然后不断遍历 cur。 每次迭代到 cur,都将 cur ...
分类:
其他好文 时间:
2020-06-02 18:34:06
阅读次数:
58
数据结构,双指针法介绍 + 练习,习题都来自leetcode ,golang实现 ...
分类:
其他好文 时间:
2020-05-31 19:57:32
阅读次数:
54
进阶解法1:排序双指针 class Solution { public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { sort(nums1.begin(), nums1.end()); sort(nums2.begi ...
分类:
编程语言 时间:
2020-05-30 01:20:17
阅读次数:
70