![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
雒翼
南大菜鸡一枚
励志于FIN-TECH
展开
-
扩充字符串使其成为最短回文串
题目描述:给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。示例 1:输入: “aacecaaa”输出: “aaacecaaa”示例 2:输入: “abcd”输出: “dcbabcd”思路:我们需要在给定的字符串 ss 的前面添加字符串 s,得到最短的回文串。这里我们用 s’+s表示得到的回文串。显然,这等价于找到最短的字符串 s’使得 s’+s 是一个回文串。由于我们一定可以将 ss 去除第一个字符后得到的字符串反序地添加在原创 2020-08-29 15:20:48 · 711 阅读 · 0 评论 -
回文数 int
题目:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。你能不将整数转为字符串来解决这个问题吗?方法一:反转一半数字思路映入脑海的第一个想法是将数字转换为字符串,并检查字符串是否为回文。但是,这需要额外的非常量空间来创建问题描述中所不允许的字符串。第二个想法是将数字本身反转,然后将反转后的数字与原始数字进行比较,如果它们是相同的,那么这个数字就是回文。但是,如果反转后的数字大于 \text{int.MAX}int.MAX,我们将遇到整数溢出问题。按照第二原创 2020-06-10 09:34:56 · 192 阅读 · 0 评论 -
二分搜索:在D天内送达包裹的能力
问题:传送带上的包裹必须在 D 天内从一个港口运送到另一个港口。 传送带上的第 i 个包裹的重量为weights[i]。每一天,我们都会按给出重量的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。 返回能在 D天内将传送带上的所有包裹送达的船的最低运载能力。示例示例 1:输入:weights = [1,2,3,4,5,6,7,8,9,10], D = 5输出:15解释:船舶最低载重 15 就能够在 5 天内送达所有包裹,如下所示:第 1 天:1, 2, 3, 4, 5原创 2020-06-08 21:37:41 · 173 阅读 · 0 评论 -
用vector创建二维数组
1 vector二维数组的创建和初始化vector vec(10,90); //将10个一维动态数组初始为90vector<vector > vec(row,vector(col,0)); //初始化row * col二维动态数组,初始化值为02 获取一维数组的长度int size = vec.size();3 获取二维数组的长度int size_row = vec.size(); //获取行数int size_col = vec[0].size(); //获取列数定义一个行列原创 2020-06-05 18:57:33 · 844 阅读 · 0 评论 -
最长回文子串 c++
解法 1:将字符串 s 反转得到字符串 rev,再求他们的最长公共子串,再判断该最长公共子串是否就是我们要找的最长回文子串。class Solution {public: string longestPalindrome(string s) { if(s.length()==1) return s;//大小为1的字符串必为回文串 string rev=s;//rev存放s反转结果 string res;//存放结果 std::re原创 2020-06-05 18:50:36 · 853 阅读 · 0 评论 -
LeetCode481.神奇字符串
神奇字符串神奇的字符串 S 只包含 ‘1’ 和 ‘2’,并遵守以下规则: 字符串 S 是神奇的,因为串联字符 ‘1’ 和 ‘2’的连续出现次数会生成字符串 S 本身。 字符串 S 的前几个元素如下:S = “1221121221221121122 …”如果我们将 S 中连续的 1 和 2 进行分组,它将变成: 1 22 11 2 1 22 1 22 11 2 11 22 …并且每个组中 ‘1’ 或 ‘2’ 的出现次数分别是: 1 2 2 1 1 2 1 2 2 1 2 2 …你可以看到上面的出现原创 2020-06-02 21:50:10 · 367 阅读 · 0 评论 -
鸡蛋掉落/玻璃球与楼层高度 动态规划
动态规划 解决鸡蛋掉落问题原创 2020-02-25 18:59:17 · 340 阅读 · 1 评论