随笔分类 - 算法
摘要:string reverseWords(string s) { int l=0; int r=0; for(int i=0;i<s.length();i++){ if(s[i]==' '){ r=i-1; while(l<r){ swap(s[l],s[r]); l++; r--; } l=i+1;
阅读全文
摘要:string reverseWords(string s) { int l=0; int r=0; for(int i=0;i<s.length();i++){ if(s[i]==' '){ r=i-1; while(l<r){ swap(s[l],s[r]); l++; r--; } l=i+1;
阅读全文
摘要:vector<int> twoSum(vector<int>& nums, int target) { int l=0; int r=nums.size()-1; vector<int> ans; while(l<r){ if(nums[l]+nums[r]>target){ r--; }else
阅读全文
摘要:/* 使用双指针,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部。 右指针不断向右移动,每次右指针指向非零数,则将左右指针对应的数交换,同时左指针右移。 */ void moveZeroes(vector<int>& nums) { int n = nums.size(), lef
阅读全文
摘要:void rotate(vector<int>& nums, int k) { int n = nums.size(); vector<int> newArr(n); for (int i = 0; i < n; ++i) { newArr[(i + k) % n] = nums[i]; } num
阅读全文
摘要:vector<int> sortedSquares(vector<int>& nums) { int l=nums.size(); vector<int> v; for(int i=0;i<l;i++){ v.push_back(nums[i]*nums[i]); } sort(v.begin(),
阅读全文
摘要:#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <map> #include <queue> #include <set> #include <iterator> #incl
阅读全文
摘要:long long firstBadVersion(int n) { long long l=1; long long r=n; long long mid=1; //执行完之后l=r 即为答案 while(l<r){ mid=(l+r)/2; mid = left + (right - left)
阅读全文
摘要:int searchInsert(vector<int>& nums, int target) { int l=0; int r=nums.size(); int mid=0; while(l<r){ mid=(l+r)/2; if(nums[mid]>target){ r=mid; }else i
阅读全文
摘要:int search(vector<int>& nums, int target) { int l=0; int r=nums.size()-1; cout<<r<<endl; int mid; while(l<r){ mid=(l+r)/2; if(nums[mid]<target){ l=mid
阅读全文
摘要:1.模板 int search(vector<int>& nums, int target) { int l=0; int r=nums.size(); int mid; while(l<r){ mid=(l+r)/2; if(nums[mid]<target){ l=mid+1; }else if
阅读全文
摘要:[http://ybt.ssoier.cn:8088/problem_show.php?pid=1211]() #include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <map> #
阅读全文
摘要:[http://ybt.ssoier.cn:8088/problem_show.php?pid=1199]() 一本通 1199 #include <iostream> #include <cstring> #include <cstdio> #define maxn 10000005 typede
阅读全文
摘要:#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <map> #include <queue> #include <set> #include <iterator> #incl
阅读全文
摘要:#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <map> #include <queue> #include <set> #include <iterator> #incl
阅读全文
摘要:左移运算 左移运算符“<<”是双目运算符。左移n位就是乘以2的n次方。 其功能把“<<”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0。(x<<n == x*2^n) 右移运算 右移运算符“>>”是双目运算符。右移n位就是除以2的n次方。其功能是把“>>”
阅读全文
摘要:#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <map> #include <stack> #include <queue> #include <set> #include
阅读全文
摘要:#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <map> #include <queue> #include <set> #include <iterator> #incl
阅读全文
摘要:1.模板 求n的m次方 #include<iostream> #define MOD 1000000007 using namespace std; //递归快速幂 int quickpow(long long a,long long n){ if(n==0) return 1; else if(n
阅读全文
摘要:1.向上取整, ceil(x)返回的是大于x的最小整数。 2.向下取整, floor(x)返回的是小于或等于x的最大整数。 3.输出有效数字 若规定整数p位,小数部分q位 用%p.qf 输出 若规定整数+小数一共是n位有效 用%.ng 输出 4.c++域宽 setw()
阅读全文

浙公网安备 33010602011771号