自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 leetcode刷题记录-字符串-字符串转换整数

class Solution { public: int myAtoi(string s) { int flag = 1;//缺省值为正; int left = 0; long long res = 0; for (int i = 0; i < s.length(); i++ ) { if (s[i] == '-' || s[.

2022-04-18 10:56:18 694

原创 leetcode刷题记录-字符串-是否回文串

双指针,遇到除数字和字母外的字符跳过。代码如下:class Solution {public: bool isPalindrome(string s) { int left = 0; int right = s.length() - left -1; transform(s.begin(),s.end(),s.begin(),::tolower); while (left < right) {

2022-04-14 09:06:56 557

原创 leetcode刷题记录-字符串-有效的字母异位词

思路:创建两个hash表,统计两个字符串中字符的出现次数,而后对任一字符串遍历,若s中的字符没有在t中出现或者出现了但value相减不等于0,则返回false,否则返回true。小坑:本题两个字符串的长度不一定相等。代码如下:#include<unordered_map>using namespace std;class Solution {public: bool isAnagram(string s, string t) { if (s.l...

2022-04-13 10:59:22 717

原创 leetcode刷题记录-字符串-字符串中的第一个唯一字符

这题差点写到我心态崩溃!还是没做出来。看到提示中的哈希表,我直接想到前面做的一道题中,边查找边向哈希表插入的方法,于是生搬硬套,想要通过一次for循环就解出此题,写出了以下代码段:for(int right = 1;right < len;right++){ if(m.find(s[right]) == m.end()) { m.emplace(std::make_pair(s[right],right)); } e...

2022-04-13 10:36:51 816

原创 leetcode刷题记录-数组-两数之和

1.暴力法双循环即可。代码如下:class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { int len = nums.size(); for (int i = 0;i < len;i++) { for (int j = i+1;j < len;j++)

2022-04-04 08:29:09 67

原创 leetcode刷题记录-数组-移动零

思路:设置变量znums:出现的0的个数。遍历数组,若当前元素为0,则znums加1,否则将当前元素与(当前下标-znums)的元素互换位置。代码如下:class Solution {public: void moveZeroes(vector<int>& nums) { int znums = 0; int len = nums.size(); int tmp; for (int i = 0;i&l

2022-04-03 23:47:42 409

原创 OMNET++安装过程记录

1.编译环境Java环境,用的是jre for consumer版本https://www.java.com/zh-CN/download/2.下载安装omnet++OMNeT++ Downloads解压所下载的压缩包后,运行mingwenv.cmd,用于搭建mingw环境。,跑完后按任意键,弹出新窗口,依次运行./configure 和make命令经过十几分钟等待输入omnetpp并执行弹出的弹窗默认执行即可。完毕。..

2022-03-30 21:29:14 4128

原创 leetcode刷题记录-数组-加一

本题需要考虑的情况就是各位加一后有无进位。如果有进位,则该位置0,继续判断下一位。更简明的思路是,从后向前遍历数组元素,若元素为9,则当前位置0,若不为9,则当前位加1后直接返回数组,结束循环。特殊情况:当各位都是9时,将首元素置1后,还需在末尾添加一个0。附上代码:class Solution {public: vector<int> plusOne(vector<int>& digits) { int len = digit..

2022-03-29 15:28:19 1082

原创 leetcode刷题记录-数组-两个数组的交集

###过程学习记录:对向量插入,只能调用容器的成员函数。可以是push_back(),可以是emplace_back();push_back()会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放入容器中。原来的临时变量释放。这样造成的问题就是临时变量申请资源的浪费。emplace_back()会在容器尾部添加一个元素,这个元素原地构造,不需要触发拷贝构造和转移构造。而且调用形式更加简洁,直接根据参数初始化临时对象的成员。###本题采用双指针,nums1下标为左指

2022-03-28 21:42:49 91

原创 leetcode刷题记录-数组-只出现一次的数字

1.排序后,两两比较,若相同,i+2,若不同,返回nums[i],若此时i跳到了数组最后一个元素,则说明最后一个元素是只出现一次的数字,返回此时的nums[i];classSolution{public:intsingleNumber(vector<int>&nums){intlength=nums.size();if(nums.size()<=1)returnnums[0]...

2022-03-28 17:37:16 304

原创 leetcode刷题记录-数组-删除重复项

给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。1.暴力法:双层for循环,遍历对于每个元素,遍历一遍数组,复杂度为n^2,当输入数组很大时,会超时。2.排序后比较相邻元素:用c++的sort函数,...

2022-03-28 17:04:32 1433

原创 leetcode刷题记录-数组-旋转数组

本题思路为:连环跳,如:对于数组nums[1,2,3,4],k=2在最外层设置一个for循环,循环次数就是元素的个数,因为每个元素都会移动一次自己的位置。cur先为nums[0],然后nums[0]先跳到nums[3],然后将nums[3]存到tmp后,将nums[3]置为cur,判断next:如果next已经访问过了,则将cur置为next+1;若无,继续跳;class Solution {public: void rotate(vector<int>& nums...

2022-03-22 13:30:59 72

原创 leetcode刷题记录-数组-买卖股票的最佳时机

本题用贪心算法求解即可。因为只要第二天的股价高于今天,卖出就能获得利润,用贪心算法可以得出局部最优解,而在本题条件中,贪心算法得出的局部最优解就是全局最优解。class Solution {public: int maxProfit(vector<int>& prices) { int profit = 0; int cur = 0; for (int next = 1; next < prices.size(); ne...

2022-03-20 20:37:19 982

原创 leetcode刷题记录-数组-删除重复项

解题方法:用左右指针,左指针指向当前项(cur),右指针(next)做移动。当左指针与右指针所指向的元素不同时,将nums[cur+1]赋值为nums[next],然后左右指针均右移;当相同时,只对右指针做右移。当右指针移动到数组末尾时,操作结束。用这种思想只需遍历数组一次。class Solution {public: int removeDuplicates(vector<int>& nums) { int cur = 0;...

2022-03-20 18:36:33 225

原创 这是我的第一个博客

希望能记录自己的学习过程

2022-03-20 14:53:36 221

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除