算法与数据结构 の 代码实战
文章平均质量分 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 · 69 阅读 · 0 评论 -
【算法与数据结构 の 代码实战】原地置换算法排序
Q: 在一个具有n个元素大小的数组中,所有元素排序在0~n-1范围内并且所有元素不重复,对数组中的元素进行排序。A: 此时使用原地置换算法,时间复杂度O(N),空间复杂度O(1),明显优于其他的排序算法剑指offer 03.数组中重复的数字分析//将我们指针对应的元素放到属于他的位置(索引对应的地方)。我们可以这样理解,每个人都有自己的位置,//我们需要和别人调换回到属于自己的位置,调换之后,如果发现我们的位置上有人了,则返回。class Solution {public: int原创 2021-03-01 19:20:07 · 216 阅读 · 0 评论 -
【算法与数据结构 の 代码实战】滑动窗口
滑动窗口法(尺取法):用来解决一些查找满足一定条件的连续区间的性质(长度等)的问题。思路:通过左右指针L和R构造一个滑动窗口,首先移动R使得滑动窗口使结果趋于目标,当超过目标范围时,再移动L使得结果回退趋向目标,如此循环往复,并在其过程中记录最优值替换后的最长重复子字符分析注释写的很好了。。。class Solution { public int characterReplacement(String s, int k) { int[] num = new原创 2021-02-02 21:39:04 · 208 阅读 · 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 · 136 阅读 · 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 · 92 阅读 · 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 · 87 阅读 · 0 评论