LeetCode 69 LeetCode 69 概述 模拟sqrt函数实现 思路 对于一个整数的平方根,除了几个特殊情况,可以验证<=x/2。这里强调是整数,所以2,3仍然符合,而0,1则要特殊处理。 使用二分法,while循环中的if条件要注意,如果mid*mid>x,那么结果在mid之后;反正则不一定 12345678910111213141516int mySqrt(int x) 2021-07-28 刷题记录 LeetCode刷题 C++
LeetCode 59 LeetCode 59 概述 输入n,在n*n的矩阵中,从左上角开始,逆时针填入数字1-n2,然后输出矩阵 思路 首页,应该能知道这题是一个模拟题 手动模拟操作,可以发现,顺序上-右-下-左都是一样的,只是规模再变小。所以一次大循环里面,应该是把四个方向的任务完成。 还要注意的是边界的选取,因为上-右、右-下、下-左,均是存在一个重叠的数字的。这里选择左闭右开,是因为每次处理 2021-07-28 刷题记录 LeetCode刷题 C++
LeetCode 34 LeetCode 34 概述 题目给定一个升序数组,又要求时间复杂度O(log n)算法,考虑二分解决 思路1 一般二分查找,只能找到其中一个target,现在要找target在数组中的开始位置和终止位置,考虑每次找到后将数组分成左右两个,那么开始、终止位置也就可能在左右两边。 对左右两边,可以继续二分查找,直到找不到停止。到这里,考虑递归思想。 对于递归函数,返回值应该就是 2021-07-28 刷题记录 LeetCode刷题 C++
LeetCode 18 LeetCode 18 概述 https://leetcode-cn.com/problems/4sum/ 给你一个数组和一个目标值target,判断数组中是否能找到四个不同位置的值相加等于target 答案中不包含重复的集合 思路 和之前[3Sum](LeetCode 15.md)基本相同,只是需要四个数字 指针数:2个活动指针+2个固定移动指针 123456789101112 2021-07-28 刷题记录 LeetCode刷题 C++
LeetCode 15 LeetCode 15 概述 https://leetcode-cn.com/problems/3sum 从一个数组中,找到所有的三个不同位置的数字,相加等于0 返回所有的相加等于0的三个数字,且结果不重复 思路 理解题目要求,三个数字位置要不同,三个数字组成的结果不重复,最后按组返回所有的三个数字 返回最终集合不能重复,所以这题不好用哈希法,因为哈希会把所有的结果都选出来,那么 2021-07-28 刷题记录 LeetCode刷题 C++
LeetCode 1 LeetCode 1 概述 https://leetcode-cn.com/problems/two-sum/ 给定一个整数数组和一个target,从数组中选择两个相加等于target的值,返回选择的两个的数组下标 同一个元素不能被重复选,且只会有一个结果 思路 返回下标,说明不能排序,那么不能使用多指针法; 题目只是要求,同一个元素不能被重复选,并没有说最终结果中不能有重复的元 2021-07-28 刷题记录 LeetCode刷题 C++
c++函数使用记录 c++函数使用记录 STL 函数 equal_range():一个二分查找的算法,试图在已排序的[first,last)中寻找value,它返回一对迭代器i和j。 如果该键值在容器中存在,则i是在不破坏次序的前提下,value可插入的第一个位置(亦即lower_bound),j是在不破坏次序的前提下,value可插入的最后一个位置(亦即upper_bound);如果找不到,则i,j都指 2021-07-28 刷题笔记 LeetCode刷题 C++函数
语法总结 语法总结——队列 队列 优先队列 头文件 #include<queue> 特点 在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出 (first in, largest out)的行为特征 优先队列具有队列的所有特性,包括队列的基本操作,只是在这基础上添加了内部的一个排序,它本质是一个堆实现的 定义 123456/*Typ 2021-07-28 刷题笔记 C++队列
语法总结——C++11 语法总结——C++ 11 使用emplace操作 新函数 对应之前函数 emplace(i, type) insert(type, i) emplace_front push_front emplace_back push_back emplace是构造而不是拷贝元素,不需要拷贝或者移动内存。 如果元素是基本类型,新特性就没有体现,也就没有优势 所有的标 2021-07-28 刷题笔记 C++ 11