算法与数据结构
一拳小和尚LXY
学而不思则罔
展开
-
LeetCode算法练习(二) 买卖股票的最佳时机 II
前言:继续我们的愉快算法练习之旅=。=题目描述:给定一个数组,它的第i个元素是一支给定股票第i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的...原创 2019-07-18 22:24:09 · 383 阅读 · 1 评论 -
LeetCode算法练习(一)有序数组去重
前言大学毕业以来一直想提升自己数据结构与算法相关的知识(大学没有学好=。=),后来偶然的机会在网上看到LeetCode,觉得很不错,因此就打算通过LeetCode来练习算法相关的一些知识和能力,活跃自己思维,锻炼自己的编程能力。但是学习这个过程知识阅读、记忆和短期的练习是不够的,还需要总结与复习的过程,才能真正把知识变成自己的东西(自己十几年学习总结的拙见=。=)。所以就想着通过系列技术博...原创 2019-07-16 20:56:12 · 735 阅读 · 0 评论 -
Leetcode算法修炼(四)存在重复
题目描述:给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true解题思路:因为之...原创 2019-07-29 20:18:59 · 95 阅读 · 0 评论 -
Leetcode算法修炼(五)只出现一次的数字
题目描述:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4解题思路:这个题目第一眼看,嗯,很简单呢,跟上一题目好像产不多似的。然而题目的要...原创 2019-07-29 21:07:24 · 176 阅读 · 0 评论 -
LeetCode算法练习(三) 旋转数组
前言:最近由于工作较忙,练习的频率有点低了,以后尽量保持两到三天练习一道的频率和效率。那么开始这一次算法练习。题目描述:给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步:...原创 2019-07-26 20:06:59 · 135 阅读 · 1 评论 -
Leetcode算法修炼(七)加一
题目描述给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数...原创 2019-08-19 21:00:47 · 125 阅读 · 0 评论 -
Leetcode算法修炼(六)数组的交集
题目描述给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 我们可以不考虑输出结果的顺...原创 2019-08-18 11:40:19 · 89 阅读 · 0 评论