02 2019 档案
摘要:题目描述: 解题思路:首先构造一个关联容器unordered_map<int, bool> used;用来记录每个元素是否使用。对数组中的每个元素,以该元素为中心,通过+1和-1往右和往左筛查关联容器是否包含改元素的相邻元素,直到不连续为止,记录下最长的长度。 参考代码: 运行结果:
阅读全文
摘要:题目描述: 解题思路:此题与26. Remove Duplicates from Sorted Array相似,解决方法仍然是设置左右两个指示器pl和pr。让pr从左往右移动,当*pr和*(pl-1)相同时,说明*(pl-1)和*pl相同(因为nums数组是一个有序数组),因此*pr已不能再加入修改
阅读全文
摘要:题目描述: 解题思路:这题与33. Search in Rotated Sorted Array之间的区别在于数组中可能会有重复的元素。解题思路与前者一样,关键仍然是找到单调递增区域。在前者的代码中,nums[first] <= nums[mid]这句就不适用了,应将”=“去掉。因为数组的旋转点可能
阅读全文
摘要:题目描述: 解题思路:由于数组中不存在重复的元素,题目的复杂性就有所降低。为了保持思路的简洁,我们只关注数组三个位置的值:*first, *mid, *last。 第一步:判断下列情况哪一种成立:(1) *first <= *mid;(2) *first > *mid。 第二步:if (1),说明f
阅读全文
摘要:题目描述: 思路:设置两个指示器,左侧指示器pl和右侧指示器pr。pr从左往右移动,当pr所指的数值与pl所指数值不相同时,将pl右移一位,并将pr所指数值赋给pl。最后pl的大小即为修改后数组的长度。 参考代码: 程序输出为:
阅读全文
摘要:题目描述: 思路:将数组中每个元素平方之后,最大的值肯定在数组的两侧,因此从数组两侧向中间查找即可。 参考代码: 运行结果:
阅读全文
摘要:gcc静态编译和动态编译(其中的动态编译有问题,可参考下面的文章,静态编译正确) Linux下gcc编译生成动态链接库*.so文件并调用它 C输入输出函数与缓冲区
阅读全文
摘要:boost::shared_ptr是boost库中用来管理指针的模板,使用它需要#include <boost/shared_ptr.hpp>。本文介绍它的一些基本用法。 第一,boost::shared_ptr管理的指针所指向的对象必须在堆中,因为该模板会在对象离开作用域后调用delete方法,如
阅读全文

浙公网安备 33010602011771号