题目描述: 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意: 不能使用代码库中的排序函数来解决这道题。 示例: 输入: [2,0,2,1,1,0] 输出: [0,0,1,1,2,2] 1、冒泡排序 class Solution { public:void sortColors(vector<int>& nums) {if(nums.empty())return ;int n=nums.si...
题目描述 题解:这道题目的其实是很简单的(难度的分类也是简单),但是乍一看并不是那么好做,首先看懂题目意思: 比如1211,怎么报数呢?从左到右开始报数:1个1、1个2、2个1 => 111221 第一种解法: n最大为30,那我就一个个地数出来,不过这方法太耗时间了,而且容易出错。 第二种解法:写一个getCountResultBySqe(string str),传入一个字符串,比如1211,得到报数的结果为111221。 写一个递归(循环也可以),当n==1时,直接返回...
题目描述 代码: class Solution { public:bool isAnagram(string s, string t) {sort(s.begin(),s.end());sort(t.begin(),t.end());if(s == t)return true;elsereturn false;} };
题目 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [3,3,5,0,0,3,1,4] 输出: 6 解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3 。 随后,在第 7 天(股票价格 = 1)的时候...
题目 编写一个程序,找出第 n 个丑数。 丑数就是只包含质因数 2, 3, 5 的正整数。 //只包含质因素2,3,5 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 ,15,是前 10 个丑数。 说明: 1 是丑数。 n 不超过1690 代码实现public class demo {public static int find(int target) {int index = 1;Map<Integer,Integer> map = new HashMap<>();List<Integer> list1 = new LinkedList<>();List<Integer> list2 ...
题目 给定一个表示分数加减运算表达式的字符串,返回一个字符串形式的计算结果。 这个结果应该是不可约分的分数,即最简分数 如果最终结果是一个整数,例如 2,你需要将它转换成分数形式,其分母为 1。所以在上述例子中, 2 应该被转换为 2/1。 示例 1: 输入:"-1/2+1/2" 输出: "0/1" 示例 2: 输入:"-1/2+1/2+1/3" 输出: "1/3" 示例 3: 输入:"1/3-1/2" 输出: "-1/6" 示例 4: 输入:"5/3+1/3" 输出: "2/1" 说明: 输入和输出字符串只包...
题目 给定两个字符串, A 和 B。 A 的旋转操作就是将 A 最左边的字符移动到最右边。 例如, 若 A = abcde,在移动一次之后结果就是bcdea 。 如果在若干次旋转操作之后,A 能变成B,那么返回True。 示例 1: 输入: A = abcde, B = cdeab 输出: true 示例 2: 输入: A = abcde, B = abced 输出: false 注意: A 和 B 长度不超过 100。 代码实现 abcd修改字符串sd.replace(0,1,"") bcd 从字符串中截取字串sd.substring(0,1) abcd/apubli...
题目 报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1 被读作 "one 1" ("一个一") , 即 11。 11 被读作 "two 1s" ("两个一"), 即 21。 21 被读作 "one 2", "one 1" ("一个二" , "一个一") , 即 1211。 给定一个正整数 n(1 ≤ n ≤ 30),输出报数序列的第 n 项。 注意:整数顺序将表示为一个字符串 代码实现public class...
题目 给出一个非抢占单线程CPU的 n 个函数运行日志,找到函数的独占时间。 每个函数都有一个唯一的 Id,从 0 到 n-1,函数可能会递归调用或者被其他函数调用。 日志是具有以下格式的字符串:function_id:start_or_end:timestamp。 例如:"0:start:0" 表示函数 0 从 0 时刻开始运行。"0:end:0" 表示函数 0 在 0 时刻结束。 函数的独占时间定义是在该方法中花费的时间,调用其他函数花费的时间不算该函数的独占时间。你需 要根据函...
leetcode 算法题849 (简单240) 仅仅反转字母题目介绍给定一个字符串 S, 返回 “反转后的” 字符串, 其中不是字母的字符都保留在原地, 而所有字母的位置发生反转。示例输入:“ab-cd” 输出:“dc-ba”输入:“a-bC-dEf-ghIj” 输出:“j-Ih-gfE-dCba”输入:“Test1ng-Leet=code-Q!” 输出:“Qedo1ct-eeLg=ntse-T!”S.length <= 100 33 <= S[i].ASCIIcode <= 122 S 中不包含 \ or "解法一/*** @param {string} S* @return {str...
leetcode 算法题884 (简单231) 两句话中的不常见单词题目介绍给定两个句子?A?和?B?。? (句子是一串由空格分隔的单词。每个单词仅由小写字母组成。) 如果一个单词在其中一个句子中只出现一次, 在另一个句子中却没有出现, 那么这个单词就是不常见的。 返回所有不常用单词的列表。 您可以按任何顺序返回列表。示例输入:A = “this apple is sweet”, B = “this apple is sour” 输出:[“sweet”,“sour”]输入:A = “apple ap...
LeetCode初级算法--字符串01:反转字符串搜索微信公众号:AI-ming3526或者计算机视觉这件小事 获取更多算法、机器学习干货 csdn:https://blog.csdn.net/baidu_31657889/ csdn:https://blog.csdn.net/abcgkj/ github:https://github.com/aimi-cn/AILearners一、引子 这是由LeetCode官方推出的的经典面试题目清单~ 这个模块对应的是探索的初级算法~旨在帮助入门算法。我们第一遍刷的是leetcode推荐的题目。 查看完整的剑指Offer算法...
LeetCode初级算法--字符串02:字符串中的第一个唯一字符搜索微信公众号:AI-ming3526或者计算机视觉这件小事 获取更多算法、机器学习干货 csdn:https://blog.csdn.net/baidu_31657889/ csdn:https://blog.csdn.net/abcgkj/ github:https://github.com/aimi-cn/AILearners一、引子 这是由LeetCode官方推出的的经典面试题目清单~ 这个模块对应的是探索的初级算法~旨在帮助入门算法。我们第一遍刷的是leetcode推荐的题目。 查看完整...
LeetCode初级算法--数组02:旋转数组搜索微信公众号:AI-ming3526或者计算机视觉这件小事 获取更多算法、机器学习干货 csdn:https://blog.csdn.net/baidu_31657889/ csdn:https://blog.csdn.net/abcgkj/ github:https://github.com/aimi-cn/AILearners一、引子 这是由LeetCode官方推出的的经典面试题目清单~ 这个模块对应的是探索的初级算法~旨在帮助入门算法。我们第一遍刷的是leetcoda推荐的题目。 查看完整的剑指Offer算法题解...
本文目录定义 常见题型 买卖股票的最佳时机 买卖股票的最佳时机 II 跳跃游戏 最大子序和 判断子序列定义 贪心算法(英语:greedy algorithm),又称贪婪算法,是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法。 贪心算法在有最优子结构的问题中尤为有效。最优子结构的意思是局部最优解能决定全局最优解。简单地说,问题能够分解成子问题来解决,子问题的最优解能递推到...