算法
还不是为了赚点窝囊费
天天不想上班,月月都满勤
展开
-
Leetcode.只出现一次的数字(Java实现)
/** * 只出现一次的数字 * 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 * <p> * 说明: * 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? * 示例 1: * 输入: [2,2,1] * 输出: 1 * <p> * 解题思路:遍历数组,将每一个元素异或,最后获得...原创 2019-03-06 14:50:57 · 218 阅读 · 0 评论 -
Leetcode.求众数(Java实现)
/** * 求众数 * 给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 * <p> * 你可以假设数组是非空的,并且给定的数组总是存在众数。 * <p> * 示例 1: * <p> * 输入: [3,2,3] * 输出: 3 * <p> * 解题思路:定义一个集合,遍历数组,...原创 2019-03-06 14:51:46 · 581 阅读 · 0 评论 -
Leetcode.搜索二维矩阵 II(Java实现)
/** * 搜索二维矩阵 II * 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: * <p> * 每行的元素从左到右升序排列。 * 每列的元素从上到下升序排列。 * 示例: * <p> * 现有矩阵 matrix 如下: * <p> * [ * [1, 4, 7, 11...原创 2019-03-06 14:52:25 · 214 阅读 · 0 评论 -
Leetcode.合并两个有序数组(Java实现)
/** * 合并两个有序数组 * 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 * <p> * 说明: * <p> * 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 * 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2...原创 2019-03-06 15:26:43 · 8678 阅读 · 3 评论 -
Leetcode.验证回文串(Java实现)
/** * 验证回文串 * 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 * <p> * 说明:本题中,我们将空字符串定义为有效的回文串。 * <p> * 示例 1: * <p> * 输入: "A man, a plan, a canal: Panama" * 输出: true * 示例 2: * &l...原创 2019-03-07 10:37:15 · 764 阅读 · 0 评论 -
leetcode.从排序数组中删除重复项(java)
/** * 从排序数组中删除重复项 * 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 * <p> * 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 * <p> * 示例 1: * <p> * 给定数组 nums = [1,1,2], * <...原创 2019-04-15 16:41:11 · 405 阅读 · 0 评论 -
Leetcode.买卖股票的最佳时机 II(Java)
/** * @author ghm * @date 2019/4/15. * 买卖股票的最佳时机 II * 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 * <p> * 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 * <p> * 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的...原创 2019-04-16 08:46:03 · 361 阅读 · 0 评论