leetcode
alfredzhu1116
这个作者很懒,什么都没留下…
展开
-
socket
//server.cppint server_(){ int listenfd, connfd; if((listenfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) return -1; struct sockaddr_in serverAddr, clinetAddr; bzero(&serverAddr, sizeof(serverAddr)); serverAddr.sin_family..原创 2020-07-01 00:19:51 · 155 阅读 · 0 评论 -
shared_ptr
#include <assert.h>#include <cstddef>#include <iostream>using namespace std;template <typename T>class SmartPointer{ public: SmartPointer(T * ptr = 0) : ptr_(ptr){ if(ptr_ != 0) cnt_ =原创 2020-07-01 00:18:31 · 157 阅读 · 0 评论 -
leetcode 491. Increasing Subsequences
1.概述改题是一道backtracking question,和Combination Sum及Combination Sum II相似,又有些许的不同,本文先对比这三道题的相同点和不同点,再归纳同类的backtracking questions2.Combination Sum及Combination Sum IICombination Sum,简单的backtrackingclass ...原创 2019-11-27 10:34:49 · 118 阅读 · 0 评论 -
leetcode (使用归并排序解决的相关题目)
需要用到std::inplace_merge,由c++提供的归并排序模板函数inplace_merge493. Reverse Pairsclass Solution {public: int mergeSort(vector<int>& nums,int begin_,int end_) { if(end_-begin_<=0)...原创 2019-11-09 14:49:59 · 669 阅读 · 0 评论 -
leetcode 313. Super Ugly Number(lambda表达式中的值捕获和引用捕获)
leetcode 313. Super Ugly Number这道题最初的代码class Solution {public: int nthSuperUglyNumber(int n, vector<int>& primes) { vector<int> dp(n,0); dp[0]=1; auto cm...原创 2019-11-04 10:37:51 · 243 阅读 · 0 评论 -
二分搜索的各种方式
经典题分析:leetcode 704. Binary Search1)方法一:lb初始化为最左侧元素再左边的一个不存在的元素,表示一个无穷小的数,ub初始化为最右侧元素再右边的一个不存在的元素,表示一个无穷大的数,lb元素的意义为lb与lb左边的所有元素值均小于target,ub元素的意义为ub与ub右边的所有元素值均大于等于target.循环结束后,最终lb和ub会相差1。如果ub的值等于...原创 2019-10-27 18:41:11 · 177 阅读 · 0 评论 -
遍历矩阵的几种方式
1.回形遍历2.对角线遍历(leetcode 498. Diagonal Traverse)class Solution {public: vector<int> findDiagonalOrder(vector<vector<int>>& matrix) { vector<int> res; i...原创 2019-10-15 14:19:22 · 3382 阅读 · 0 评论 -
leetcode题型归纳:递增矩阵查找和有序数据结构第几小数查找
一.递增矩阵查找1) 74. Search a 2D Matrix该题的matrix为蛇型有序,即某一行的第一个元素大于上一行的最后一个元素2)240. Search a 2D Matrix II该题和Search a 2D Matrix的区别在于matrix不是蛇型有序的,而是每一行每一列分别递增。3)378. Kth Smallest Element in a Sorted Matr...原创 2019-10-07 21:15:37 · 270 阅读 · 0 评论 -
leetcode思路总结反思(bfs篇)
leetcode思路总结反思(bfs篇)278. First Bad Version最普通的二分查找:class Solution {public: int firstBadVersion(int n) { int lb=-1; int ub=n+1; while((ub-lb)>1) { ...原创 2019-09-24 09:42:02 · 125 阅读 · 0 评论 -
KMP
hdu 1711hdu 1711kmp模板题:#include<stdio.h>#include<string.h>#define N 1000005int s[N];int p[N];int next[N];int m,n;void getnext(){ int j=0,k=-1; next[0]=-1; while(j<...原创 2019-09-12 14:19:54 · 118 阅读 · 0 评论 -
leetcode思路总结反思(bfs篇)
leetcode思路总结反思(bfs篇)127. Word Ladder对字符串进行修改,符合条件便加入queue中,并且记住删除掉该种情况。class Solution {public: int ladderLength(string beginWord, string endWord, vector<string>& wordList) { ...原创 2019-08-31 14:59:30 · 234 阅读 · 0 评论 -
leetcode思路总结反思(string篇)
leetcode思路总结反思(string篇)28. Implement strStr()最初代码(有细微的问题): int strStr(string haystack, string needle) { if(needle.empty()) return 0; if(haystack.empty()) ...原创 2019-07-08 19:55:18 · 80 阅读 · 0 评论 -
leetcode思路总结反思(Linked list篇)
leetcode思路总结反思(Linked list篇)19. Remove Nth Node From End of List最开始的时候忽略了移除第一个元素的情况,例如,1->2->3->4->5,n=5,移除第一个元素,移除之后变为2->3->4->5。因此失败,改进的方法是增加一个dummy结点,最终返回dummy.next;未完待续...原创 2019-06-30 20:29:45 · 162 阅读 · 0 评论 -
leetcode思路总结反思(Array篇)
leetcode思路总结反思(Array篇)80. Remove Duplicates from Sorted Array II与题目无关的demo:题目只要求返回结果nums的长度,该解法通过设置一个逐渐跟进的index:i,通过nums[i++]=nums[k],最终可以返回结果nums。改题目注意!!!判断nums长度为0的情况...原创 2019-06-30 20:55:26 · 180 阅读 · 0 评论 -
leetcode思路总结反思(Math篇)
leetcode思路总结反思(Math篇)69. Sqrt(x)最开始采用:class Solution {public: int mySqrt(int x) { int i=1; while(i*i<=x) i++; return i-1; }};这样子不仅速度慢,而且到后面i*i会int...原创 2019-07-01 10:00:47 · 226 阅读 · 0 评论 -
leetcode思路总结反思(dfs篇)
leetcode思路总结反思(dfs篇)130. Surrounded Regions (dfs蚕食法专题)使用dfs,利用“蚕食法”,核心代码模板如下: for(int i=0;i<row;i++) { check(board,i,0,row,col); check(board,i,col-1,row,col); } ...原创 2019-07-07 10:34:03 · 196 阅读 · 0 评论 -
leetcode思路总结反思(stack)
leetcode思路总结反思(stack)496. Next Greater Element Iclass Solution {public: vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) { vector<int&...原创 2019-07-31 11:04:46 · 132 阅读 · 0 评论 -
1
class MajorityChecker {public: vector<int> vec; MajorityChecker(vector<int>& arr) { vec=vector<int>(arr.begin(),arr.end()); } int query(int left, in...原创 2019-08-11 11:51:59 · 125 阅读 · 0 评论 -
leetcode思路总结反思(Tree篇)
leetcode思路总结反思(Tree篇)模板(中序遍历二叉树的节点)void traverse (TreeNode* root) { if (root == NULL) return; traverse(root->left); // Do some business traverse(root->right);}...原创 2019-07-02 14:00:35 · 146 阅读 · 0 评论