LeetCode小记
handy周
Hello World...
展开
-
算法实现之判断路线成圈
初始位置 (0, 0) 处有一个机器人。给出它的一系列动作,判断这个机器人的移动路线是否形成一个圆圈,换言之就是判断它是否会移回到原来的位置。移动顺序由一个字符串表示。每一个动作都是由一个字符来表示的。机器人有效的动作有 R(右),L(左),U(上)和 D(下)。输出应为 true 或 false,表示机器人移动路线是否成圈。示例 1: 输入: “UD” 输出: true...原创 2018-04-13 22:38:39 · 814 阅读 · 0 评论 -
算法实现之环形链表
给定一个链表,判断链表中是否有环。原创 2019-03-03 10:49:12 · 510 阅读 · 0 评论 -
算法实现之环形链表 II
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null原创 2019-03-03 11:10:29 · 203 阅读 · 0 评论 -
算法实现之第一个只出现一次的字符
算法实现之第一个只出现一次的字符原创 2019-03-08 13:59:46 · 290 阅读 · 0 评论 -
算法实现之二叉树的深度
算法实现之二叉树的深度原创 2019-03-08 18:16:03 · 1900 阅读 · 0 评论 -
算法实现之合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。原创 2019-03-04 13:19:23 · 3019 阅读 · 0 评论 -
算法实现之合并两个有序数组
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。原创 2019-03-04 13:49:36 · 932 阅读 · 0 评论 -
算法实现之二叉树的前序、中序、后序递归和非递归遍历以及层序遍历
算法实现之二叉树的前序、中序、后序递归和非递归遍历以及层序遍历原创 2019-03-07 13:52:51 · 2168 阅读 · 0 评论 -
算法实现之调整数组顺序使奇数位于偶数前面
之前有用脚本打包过gradle的项目到jcenter仓库,但当时比较懒,没有记录,时间久了也容易遗忘 最近一段时间在预研ijkplayer的源码,之前有接触过ffmpeg的移植,想进行二次封装新开一个库NewPlayer在NewPlayer-Lib目录下配置Gradle进入jcenter官网 https://bintray.com 登陆进去(注册就不用多说了) 点击Yo原创 2019-03-07 23:03:40 · 310 阅读 · 0 评论 -
算法实现之链表中倒数第K个结点
算法实现之链表中倒数第K个结点原创 2019-03-07 23:04:21 · 161 阅读 · 0 评论 -
算法实现之从尾到头打印链表
算法实现之从尾到头打印链表原创 2019-03-07 23:12:06 · 156 阅读 · 0 评论 -
算法实现之用两个栈实现队列
算法实现之用两个栈实现队列原创 2019-03-07 23:22:05 · 216 阅读 · 0 评论 -
算法实现之二进制中1的个数
算法实现之二进制中1的个数原创 2019-03-07 23:53:02 · 250 阅读 · 0 评论 -
算法实现之二叉树的镜像
算法实现之二叉树的镜像原创 2019-03-08 13:33:38 · 354 阅读 · 0 评论 -
算法实现之字符串的排列
算法实现之字符串的排列原创 2019-03-08 13:34:56 · 174 阅读 · 0 评论 -
算法实现之数组中的第K个最大元素
在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。原创 2019-03-03 10:11:02 · 737 阅读 · 0 评论 -
算法实现之买卖股票的最佳时机
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。原创 2019-03-02 22:15:46 · 674 阅读 · 0 评论 -
算法实现之有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。原创 2019-03-02 22:05:37 · 466 阅读 · 0 评论 -
算法实现之汉明距离
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。注意: 0 ≤ x, y < 2^31示例: 输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0)C++实现class Solution {public: ...原创 2018-04-13 22:21:55 · 1186 阅读 · 0 评论 -
算法实现之宝石与石头
题目描述: 给定字符串 J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。 J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1: 输入: J = "aA", S = "aAAbbbb" 输出: 3示例 2:...原创 2018-04-13 22:01:47 · 2034 阅读 · 2 评论 -
算法实现之反转字符串
请编写一个函数,其功能是将输入的字符串反转过来。示例: 输入:s = “hello” 返回:”olleh”实现思想: 观察特征,第一个字符和最后一个字符更换,第二个字符和倒数第二个更换…以此类推C++实现class Solution {public: string reverseString(string str) { int len...原创 2018-04-13 23:24:50 · 1923 阅读 · 0 评论 -
算法实现之反转字符串中的单词 III
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1: 输入: “Let’s take LeetCode contest” 输出: “s’teL ekat edoCteeL tsetnoc” 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。实现思路: 刚看题目心想直接用String.split会不会...原创 2018-04-14 00:21:57 · 1088 阅读 · 0 评论 -
算法实现之数组拆分 I
给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。示例 : 输入: [1,4,3,2] 输出: 4 解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).提示: n 是正整数,范围在 [1, 1...原创 2018-04-14 10:30:13 · 2702 阅读 · 0 评论 -
算法实现之爬楼梯
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。原创 2019-03-01 13:21:19 · 6083 阅读 · 0 评论 -
算法实现之由N×N个小方格组成的正方形中包含有多少个正方形
由N×N个小方格组成的正方形中包含有多少个正方形原创 2019-03-01 13:30:23 · 5035 阅读 · 3 评论 -
算法实现之在不引入其他变量的情况下让变量a和变量b互换
算法实现之在不引入其他变量的情况下让变量a和变量b互换原创 2019-03-01 13:35:20 · 1226 阅读 · 0 评论 -
算法实现之反转字符串
题目编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:["h","e","l","l","o"]输出:["o","l","l&qu原创 2019-03-02 12:16:50 · 328 阅读 · 0 评论 -
算法实现之反转字符串中的单词 III
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。原创 2019-03-02 12:37:37 · 188 阅读 · 0 评论 -
算法实现之只出现一次的数字
题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4解法其实如果用HashMap等数据结构来解决,也是可以的,时间复杂度也是O(n,但是注意题目中说的是每个元素出现两次,那么可以利用异或的思想来解决,即相同为0,不同为1publi...原创 2019-03-02 15:13:10 · 162 阅读 · 0 评论 -
算法实现之删除链表中的节点
题目请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 head = [4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输...原创 2019-03-02 15:33:39 · 459 阅读 · 0 评论 -
算法实现之2的幂
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。原创 2019-03-02 16:04:08 · 236 阅读 · 0 评论 -
算法实现之最大子序和
题目给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。解决方案class Solution { public int maxSubArray(int[] nums) { int...原创 2019-03-02 21:37:13 · 228 阅读 · 0 评论 -
算法实现之数组中出现次数超过一半的数字
算法实现之数组中出现次数超过一半的数字原创 2019-03-08 13:44:33 · 213 阅读 · 0 评论