Leetcode
attract_914
这个作者很懒,什么都没留下…
展开
-
LeetCode 11. 盛最多水的容器(双指针)
题目描述给定一个长度为 n 的整数数组height 。有n 条垂线,第 i 条线的两个端点是 (i, 0)和 (i, height[i]) 。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。(示例1的图片)解题思路双指针时间复杂度:O(N)木桶效应,水量取决于最小水面取左指针i为左端点,右指针j为右端点两端点的最小水面为hmin水量计算公式:s = (j-i)*hmin现在思考,水量最大值应该怎样出现?朴素想法原创 2022-04-15 01:11:44 · 1446 阅读 · 2 评论 -
LeetCode 7. 整数反转
题目描述给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。解题思路暴力暴力就完事了每次取出x的最低位,即x%10示例1输入:x = 123输出:321示例2输入:x = -123输出:-321代码class Solution {public: int reverse(int x) {原创 2022-04-12 22:29:24 · 254 阅读 · 0 评论 -
LeetCode 6. Z 字形变换(推公式)
题目描述将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "PAYPALISHIRING" 行数为3时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);解题思路推公式时间复原创 2022-04-12 00:36:28 · 146 阅读 · 1 评论 -
LeetCode 5.最长回文子串(动态规划)
解题思路算法:动态规划时间复杂度:O(n^2)闫氏dp分析法状态表示:d[i,j]集合:从i位置到j位置为回文字符串属性:最大值状态计算:d[i,j] = d[i-1,j+1]如果字符串从i到j是回文字符串,那么去掉首尾两个字符也是回文字符串,即从i-1到j+1也是回文字符串如果字符串小于等于2,那么该子串一定是回文字符串最后计算最大长度时,一定要保证从i到j是回文字符串,且i到j长度大于最大长度,才更新最大长度,和初始位置代码#include <iostream>原创 2022-04-11 00:15:49 · 1036 阅读 · 1 评论