![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法与数据结构 の 代码实战
文章平均质量分 51
无
今天你头秃了吗?
这个作者很懒,什么都没留下…
展开
-
【算法与数据结构 の 代码实战】快速幂
剑指offer 16.数值的整数次方 https://leetcode-cn.com/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/solution/jian-dan-li-jie-kuai-su-mi-by-ollieq-rl74/ 分析 class Solution { public: double myPow(double x, int n) { if(x == 0) return 0; if(x == 1) retu原创 2021-03-02 19:15:36 · 72 阅读 · 0 评论 -
【算法与数据结构 の 代码实战】原地置换算法排序
Q: 在一个具有n个元素大小的数组中,所有元素排序在0~n-1范围内并且所有元素不重复,对数组中的元素进行排序。 A: 此时使用原地置换算法,时间复杂度O(N),空间复杂度O(1),明显优于其他的排序算法 剑指offer 03.数组中重复的数字 分析 //将我们指针对应的元素放到属于他的位置(索引对应的地方)。我们可以这样理解,每个人都有自己的位置, //我们需要和别人调换回到属于自己的位置,调换之后,如果发现我们的位置上有人了,则返回。 class Solution { public: int原创 2021-03-01 19:20:07 · 229 阅读 · 0 评论 -
【算法与数据结构 の 代码实战】滑动窗口
滑动窗口法(尺取法):用来解决一些查找满足一定条件的连续区间的性质(长度等)的问题。 思路:通过左右指针L和R构造一个滑动窗口,首先移动R使得滑动窗口使结果趋于目标,当超过目标范围时,再移动L使得结果回退趋向目标,如此循环往复,并在其过程中记录最优值 替换后的最长重复子字符 分析 注释写的很好了。。。 class Solution { public int characterReplacement(String s, int k) { int[] num = new原创 2021-02-02 21:39:04 · 226 阅读 · 0 评论 -
【算法与数据结构 の 代码实战】贪心思想
分配饼干 分析 首先将饼干和小朋友按照从小到大进行排序,然后从小到大逐个考虑小朋友和饼干,判断当前的饼干能否满足小朋友如果不能则挑下一个饼干,直到小朋友或者饼干遍历结束以后,则停止遍历 class Solution { public: int findContentChildren(vector<int>& g, vector<int>& s) { if(g.empty()==true || s.empty()==true) return 0原创 2021-01-18 11:22:13 · 159 阅读 · 0 评论 -
【算法与数据结构 の 代码实战】双指针
平方数之和 分析: 本题可以理解为在0-target的有序数组中查找两个数,使其平方和为target,左指针初始化为0,右指针需要剪枝降低时间复杂度初始化为(int)(target)^0.5,遍历过程中如果平方和大于target则右指针往前移,如果平方和小于target则左指针往后移。 class Solution { public: bool judgeSquareSum(int c) { if(c<0) return false; long i=0,j =原创 2020-11-01 21:46:05 · 100 阅读 · 0 评论 -
【算法与数据结构 の 代码实战】二分查找
求开方 class Solution { public: int mySqrt(int x) { //首先排除一些特殊又比较容易判断的情况 if(x<=1) return x; int left=0,right=x,mid; while(left<=right){ //不用(right-left)/2,因为易造成加法溢出 mid=left+(right-left)/2;原创 2020-10-21 17:48:07 · 90 阅读 · 0 评论