c++
夜雨寒风
这个作者很懒,什么都没留下…
展开
-
LeetCode 盛最多水的容器
题目描述:给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。示例:输入: [1,8,6,2,5,4,8,3,7]输出: 49双指针法:思路:寻找每一个垂直线可盛水的最大容积,然后求出...原创 2020-02-26 19:11:45 · 343 阅读 · 0 评论 -
最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。示例 :输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。采用中心扩展法:以字符串的每个字符为中心计算回文串最大长度,时间复杂度为O(n²)。 //判断s[i]为中心的回文串长度(奇数串和偶数串) int expandAroundCenter(string s, int i, int j)...原创 2020-02-11 16:25:01 · 1097 阅读 · 0 评论 -
无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。例如:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。博主看到此题第一感觉就是采用滑窗法,通过截取无重复字符子串求取最大长度,此方法采用c++ string内置find判断是否重复。int lengthOfLongestSubstring_(string s) {...原创 2020-02-10 17:05:09 · 350 阅读 · 0 评论 -
字母异位词分组
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。所有输入均为小写字母。不考虑答案输出的顺序。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]方法一:首先写一个函数判定是否为异位词...原创 2020-02-10 14:51:27 · 1131 阅读 · 0 评论 -
字符串相加
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。注:num1 和num2 的长度都小于 5100.num1 和num2 都只包含数字 0-9.num1 和num2 都不包含任何前导零。不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。分析:字符串形式的整数相加意味着超出整数长度限制,即:不能将字符串转化成整数直接采用加法运算(...原创 2020-02-09 22:44:37 · 533 阅读 · 0 评论 -
Nim 游戏
题目:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:如果堆中有 4 块石头,那么你永远不会赢得比赛;因为无论你拿走 1 块、2 块 还是 3 块石头,最后一块石头总是会被你的朋友拿走。小编看到此题时,第一反应这是一个博弈类游戏,然后...原创 2020-02-04 14:57:54 · 1125 阅读 · 0 评论 -
同构字符串判定
同构字符串示例:(1) s = “egg”, t = “add”(2) s = “paper”, t = “title”非同构字符串:(1) s = “foo”, t = “bar”(2) s = “fkk”, t = “kkr”映射法:通过两个链表分别对字符串s和t进行维护,即字符串中每一个字符都采用第一次出现该字符时的位置进行替代:例如:addccjjk —>...原创 2020-02-02 18:03:27 · 1596 阅读 · 0 评论 -
给定一个大小为 n 的数组,找到数组众数。
方法一:哈希表法通过管理一个哈希表来记录数组每一个元素出现的次数,然后遍历哈希表即可求出众数。int majorityElement(vector<int>& nums){ map<int, int> m_mapNums; for (int i = 0; i < nums.size(); i++) { if (m_mapNums.count(n...原创 2020-02-01 16:44:58 · 1947 阅读 · 1 评论 -
Excel列表名称转换(不含“0”的进制转换)
Excel列表名称转换原题:给定一个正整数,返回它在 Excel 表中相对应的列名称。1 -> A2 -> B3 -> C...26 -> Z27 -> AA28 -> AB 此题属于进制转换问题,但是一般的进制转换都包含数字0,例如,十进制0-9,二进制0-1,都包含数字0;本题可以看做A-Z的26进制转换(不包含0),因此当余数出现0时,...原创 2020-01-31 10:04:03 · 1235 阅读 · 0 评论 -
一个有序数组,找到两个数使得它们相加之和等于目标数
一个有序数组,找到两个数使得它们相加之和等于目标数原题: 一个有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)从1开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。此题作者已知有三种解决方法:方法一:暴力解法...原创 2020-01-30 20:34:22 · 3520 阅读 · 1 评论