自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Leetcode_23. Merge k Sorted Lists

        这本质上是一个多路并归问题,可以用分治法两两并归,也可以用堆和败者树直接进行多路并归,当数据量较大时,败者树的性能应该是最好的,下面简单介绍下败者树。       败者树是胜者树的一种变体(胜者树每个节点记录胜利者)。在败者树中,用父结点记录其左右子结点进行比赛的败者,而让胜者参加下一轮的比赛。败者树的根结点记录的是败者,需要加一个结点来记录整个比赛的胜利者。采用败者树可以...

2018-11-19 23:26:15 199

转载 leetcode_69. Sqrt(x)

直接二分搜索解法:int mySqrt(int x) { long long low=0,high=x,mid; while(low<=high) { mid=(low+high)/2; if(mid*mid<=x&&(mid+1)*(mid+1)>x) ...

2018-04-13 16:41:35 104

原创 leetcode_77. Combinations&&78. Subsets

在全排列的基础上稍加改动即可void P(vector<vector<int>> &result,vector<int> &now,int index,int n,int k,int next) { if(index==k) result.push_back(now); else ...

2018-04-13 14:56:44 129

原创 leetcode_60. Permutation Sequence

                 思路:直接计算,而非模拟全排列的过程 string getPermutation(int n, int k) { vector<int> flag(n,0); string s; int x=0,temp=1; for(int i=1;i<n;i++) tem...

2018-04-07 15:18:24 89

原创 leetcode_51. N-Queens

思路:在全排列的基础上多了一些判断,但不要在生产全排列后进行判断,应该边生成边判断节约时间 void P(vector<vector<string>> &result,vector<int> &now,vector<bool> &flag,int n,int index) { if(index==n)...

2018-04-06 23:11:02 92

转载 leetcode_46. Permutations

常规DFS思路:void P(vector<vector<int>> &result,vector<int> &nums,vector<int> &now,vector<bool> &flag,int index) { if(index==nums.size())

2018-04-06 16:23:22 109

转载 leetcode_42. Trapping Rain Water

这种题目的关键就是找到内在逻辑,然后递推下去。我的思路是,先找到最高的点,再依次向左右找次高的点,计算水容量,然后不断递归找次高点,直到边界位置。虽然实现了,结果十分繁琐!!struct Rank { int height; int rank1; }; static bool cmp(Rank a,Rank b)//不加static好像会报错...

2018-04-05 23:08:37 83

转载 leetcode_43. Multiply Strings

自己先写了加法,再不断调用加法,实现大数乘法,然后被大佬的代码惊呆自己的:string add(string s1,string s2) { int carry=0; string s3; reverse(s1.begin(),s1.end()); reverse(s2.begin(),s2.end()); i...

2018-04-04 17:14:44 86

原创 leetcode 31. Next Permutation

    void nextPermutation(vector<int>& nums) {        int len=nums.size(),first,last,i;        for(i=len-2;i>=0;i--)        {            if(nums[i+1]>nums[i])            {        ...

2018-04-02 18:16:38 74

原创 leetcode_15. 3Sum

vector<vector<int>> threeSum(vector<int>& nums) { sort(nums.begin(),nums.end()); vector<vector<int>> result; int len=nums.size();//若向量中的个数不变,可...

2018-03-03 16:09:14 80

原创 leetcode_11. Container With Most Water

int maxArea(vector<int>& height) { int Max=0; int i=0,j=height.size()-1,area; while(i<j) { area=min(height[i],height[j])*(j-i); if(...

2018-02-28 20:52:31 89

转载 leetcode_2. Add Two Numbers

一:ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode* first=new ListNode(0); ListNode* l=first; int a=0; while(true) { l->val=(l1-&gt...

2018-02-27 21:02:07 88

原创 leetcode_22. Generate Parentheses

vector<string> generateParenthesis(int n) { vector<string> strs; int *A=new int[n+1]; back_track(1,n,A,strs); return strs; } void back_track(int now...

2018-02-27 15:49:52 108

转载 leetcode_17. Letter Combinations of a Phone Number

以下为回溯法实现:void backtracking(const vector<vector<char>>& table, vector<string>& res, string& local, int index, const string& digits) { if(index==digits.size()...

2018-02-26 17:41:43 110

原创 leetcode_6. ZigZag Conversion

string convert(string s, int numRows) { if(numRows<=1) return s; const int len=s.size(); string *str=new string[numRows];//动态申请字符串数组 int i=0; while(i<len)...

2018-02-26 14:39:06 74

转载 leetcode-5. Longest Palindromic Substring

string longestPalindrome(string s) { if (s.empty()) return ""; if (s.size() == 1) return s; int min_start = 0, max_len = 1; for (int i = 0; i < s.size();) { if (s.size() - i &...

2018-02-26 13:27:49 73

转载 leetcode_152. Maximum Product Subarray

Find the contiguous subarray within an array (containing at least one number) which has the largest product.For example, given the array [2,3,-2,4],the contiguous subarray [2,3] has the largest produc...

2018-02-13 16:07:40 124

原创 leetcode_120. Triangle

class Solution {public:    int minimumTotal(vector<vector<int>>& triangle) {       int n=triangle.size();//求二维向量的行        if(n==0) return 0;       vector<int>  A;//其实可以不必额外空...

2018-02-11 15:24:26 96

原创 leetcode85-Maximal Rectangle

int maximalRectangle(vector>& matrix) { if(matrix.size()==0) return 0;//对空向量进行特判 int m=matrix.size(),n=matrix[0].size();//从二维向量中获取行列,当向量为空时,获取列将失败 int A[10000],s=0; mem

2018-02-06 16:22:20 125

空空如也

空空如也

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

TA关注的人

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