摘要: 题目描述 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 解法1 时间复杂度:O(n) 空间复杂度:O(1) 思路:因为是有序数组,可使用首尾指针的方法,不断向中间移动 vector twoSum(vector& numbers, int target) { int i 阅读全文
posted @ 2019-03-16 14:50 JESSET 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 问题描述 linux(我用的系统是centos)下zip原生命令解压带中文名的压缩包时,解压出来的文件为乱码: 通过在网上查询得知,zip格式中并没有指定编码格式,Windows下生成的zip文件中的编码是GBK/GB2312等,导致这些zip文件在Linux下解压时出现乱码问题,因为Linux下的 阅读全文
posted @ 2019-03-07 11:25 JESSET 阅读(7730) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 解法1 时间复杂度:O(nlogn) 思路:使用快速排序,将数组排序,然后找到第k个最大的元素。这里需要复习一下快速一下快速排序的实现方法。 int partiti 阅读全文
posted @ 2019-03-06 10:19 JESSET 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 前言 最近一直在学习redis,通过c/cpp来执行redis命令,使用的是hiredis客户端来实现的。 先简单贴一下代码 头文件 include include include typedef enum en_redisResultType { redis_reply_invalid = 1, 阅读全文
posted @ 2019-03-02 10:51 JESSET 阅读(1719) 评论(0) 推荐(1) 编辑
摘要: 题目说明 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 解法1 时间复杂度:O(n) 空间复杂度:O(n) 思路:额外使用数组来保存合并过程中的数据,比较两数组对应元素的大小,将较小的元素保存在新的数组中,最后需要将两数 阅读全文
posted @ 2019-01-28 07:07 JESSET 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目说明 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。 解法1 时间复杂度:O(n) 空间复杂度:O(1) 思路:使用双指针,第一个指针j表示调整后的数组最后一个位置,第二个指针i遍历原数组。 当nums[i]与nums[j]不等时,直接添加即 阅读全文
posted @ 2019-01-26 02:12 JESSET 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题目说明 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 解法1 时间复杂度:O(n) 空间复杂度:O(1) 思路:利用数组为有序数组这一条件。使用双指针, 阅读全文
posted @ 2019-01-26 01:32 JESSET 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 题目说明 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 1。 解法1 时间复杂度:O(logn) 空间复杂度:O(1) 思路:二分查找法,在有序数组中,将整个数组的中间位置与目标值作 阅读全文
posted @ 2019-01-26 00:54 JESSET 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 题目说明 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 解法1 时间复杂度:O(n) 空间复杂度:O(1) 思路:使用计数排序法,先遍历一遍统计出 阅读全文
posted @ 2019-01-26 00:23 JESSET 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。 解法1 时间复杂度:O(n) 空间复杂度:O(1) 思路:覆盖法,遍历数组,将非指定值放置在数组前方 int removeElement(vector& nums, int va 阅读全文
posted @ 2019-01-25 23:26 JESSET 阅读(100) 评论(0) 推荐(0) 编辑