- 博客(101)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 【leetCode】48_旋转图像
class Solution {public: void rotate(vector<vector<int>>& matrix) { int n = matrix.size(); for (int i = 0; i < n / 2; i ++) { for (int j = i; j <...
2020-01-23 23:07:51 178
原创 【leetCode】28_实现strStr()
主要是回顾一下kmp算法。kmp分两个步骤,1,找next数组;2,匹配。kmp之所以困惑的重要原因就在于,不知道找next数组的时候实在干什么。这里用一句话说明白:找next[i],其实是在找,使得pattern[0:k)==pattern[i - k: i)的最大的k(注意是左闭右开区间)。done!为什么要找这个使得i 前的 k 个字符和pattern从0开始的 k 个...
2020-01-23 16:08:12 186
原创 【leetCode】37_解数独
和8皇后完全一样。class Solution {public: void solveSudoku(vector<vector<char>>& board) { dfs(board); } bool dfs(vector<vector<char>>& board){ ...
2019-11-10 16:10:36 210
转载 SSH暴力破解预防
日,自己的server碰到个傻子暴力破解我的ssh,只好借鉴了一个哥们的博文把这种人干掉。https://blog.csdn.net/z13615480737/article/details/83028304
2019-10-14 23:28:13 171
原创 【HDU】2544_最短路
Dijkstra/*ID :LANG: C++11TASK: maze1 */#include <iostream>#include <cstring>#define NN 105using namespace std;int main(){ int N, M; int a[NN][NN] = {}; int minDi...
2019-09-22 21:33:49 119
原创 【leetCode】231_滑动窗口最大值
class Solution {public: vector<int> maxSlidingWindow(vector<int>& nums, int k) { deque<int> dq; vector<int> ans; for (int i = 0; i < k; i +...
2019-09-22 21:06:24 169
原创 Flask工厂模式下与Celery的结合
本文主要解决的问题是Celery依赖Flask的appcontext,但是在Flask工厂模式下会出现循环import的问题。在工厂函数取得flask app的后边加一句,一共两句。flask_app = create_app(FLASK_CONFIG) # 工厂函数得到flask appflask_app.app_context().push() # 推一个appcontex...
2019-07-24 14:10:35 969 1
原创 【leetCode】42_接雨水
传统stack。还有更快的办法是:扫描出各个点左右的最高墙,从而得到该点的水柱高度。加总。class Solution {public: int trap(vector<int>& height) { typedef int Height, IndX; typedef pair<Height, IndX> Wall;...
2019-04-12 13:12:05 137
原创 【leetCode】135_分发糖果
class Solution {public: int candy(vector<int>& ratings) { int sum = 0; vector<int> candies; candies.push_back(1); for (int i = 1; i < ratings.s...
2019-04-06 16:17:06 239
原创 【leetCode】33_搜索旋转排序数组
算是对二分的强化练习吧,第一种办法是先二分找到旋转点,再分别在两段内二分,看了别人的觉得这样更简洁。简单谈一下二分:二分需要注意的是,mid赋值给left和right的时候,其实是判定mid是否是left子集或者right子集元素的过程。比如再排序好的数组内找寻target,那么满足e<target的e就是left子集的元素。所以left或者right的其中一个会停留在第一个不满...
2019-04-06 15:55:07 149
原创 【leetCode】134_加油站
class Solution {public: int canCompleteCircuit(vector<int>& gas, vector<int>& cost) { int left_oil = 0; int pos = 0; int num = gas.size(); int...
2018-10-13 15:40:59 275
原创 【leetCode】32_最长有效括号
先贴一个抄的代码,贪心吧算是。class Solution {public: int longestValidParentheses(string s) { int n = s.size(); if(n == 1) return 0; if(n == 2){ if(s[0] == '('...
2018-10-12 14:42:16 297
原创 【leetCode】19_删除链表的倒数第N个节点
class Solution {public: ListNode* removeNthFromEnd(ListNode* head, int n) { ListNode *H = new ListNode(0); H->next = head; ListNode* removeP = H, *tail = H; fo...
2018-10-12 13:36:53 191
原创 【leetCode】18_四数之和
双指针法。class Solution {public: vector<vector<int>> fourSum(vector<int>& nums, int target) { vector<vector<int>> ans; sort(nums.begin(), nums.end...
2018-10-12 13:15:05 230
原创 【leetCode】55_跳跃游戏
2018年10月12日更新一下,最简单的思路代码直观得很。抄的,哈哈。class Solution {public: bool canJump(vector<int>& nums) { int Maxreach=0; for(int i=0;i<nums.size();i++){ if(i>...
2018-10-11 19:39:04 210
原创 【leetCode】14_最长公共前缀
class Solution {public: string longestCommonPrefix(vector<string>& strs) { string ans; if (strs.size() == 0){ return ans; } int i = 0; ...
2018-10-11 18:53:06 197
原创 【leetCode】16_最接近的三数之和
思路:先选定一个数,然后用经典的寻找两数之和的做法。详细展开经典的寻找两数之和的做法。问题是:一个数组nums,一个数target,找到nums的两个数的和与target最接近。方法是nums排序,然后l指向0,r指向nums.size();如果nums[l] + nums[r] < target, l ++;如果nums[l] + nums[r] > target, r ...
2018-10-11 18:26:11 179
原创 【leetCode】45_跳跃游戏2
思路:一句话的话就是,我们现在站在pos点,下一个我们到达的点是next_pos,这个点是怎么选出来的呢?next_pos是,(pos走一步能到达的点再往前走一步能走到最远)的pos走一步能到达的点。这种点可能不止一个,我选择的是距离pos最远的点,但我觉得哪一个都可以。 pos是当前点,记集合S为 ,即pos能到达的点的集合。我们的下一个起点为next_pos,里边的ma...
2018-10-10 17:20:52 392
原创 【leetCode】44_通配符匹配
dp:class Solution {public: bool isMatch(string s, string p) { //tag 用于dp,tag[i][j]代表s的子串s[0,i-1] 可以匹配 p的子串p[0,j-1]。 bool ** tag = new bool*[s.length() + 1]; for (int i ...
2018-10-10 08:58:26 325
原创 【leetCode】31_下一个排列
思路就是找到可以变大的最低位,进一步说,就是找到,nums[pos]满足,存在q使得,q > pos 且 nums[pos] < nums[q]。同时要注意的是,最终的答案要取q的下界。这是因为要找刚刚好比所给数字大的数字,所以我们要使得pos位,增大的尽量小。class Solution {public: void nextPermutation(vector<...
2018-10-10 08:46:21 186
原创 【leetCode】30_与所有单词相关联的字串
代码过不了样例173,很恶心的一个样例,对他进行了特殊优化过了,优化就是,知道他是啥,然后直接判断,O(∩_∩)O。而且我这个代码一开始没注意到words里的单词长度是相同的这件事。(谁让他样例2中给的words里是student和word,长度也不一样。)思路是深搜。class Solution {public: int t_length; int s_lengt...
2018-10-06 12:29:55 308
原创 【leetCode】29_两数相除
class Solution { int temp, length; public int divide(int dividend, int divisor) { Boolean tag = divisor > 0 && dividend > 0 || divisor < 0 && dividend < ...
2018-10-06 12:24:35 198
原创 【leetCode】25_k个一组翻转链表
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode reverseKGr...
2018-10-06 12:21:10 246
原创 【leetCode】23_合并k个排序链表
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: typedef pai...
2018-09-09 01:14:21 141
原创 【USACO】Overfencing
/*ID :LANG: C++11TASK: maze1 */#include<iostream>#include<string>#include<queue>using namespace std;int main(){ freopen("maze1.in", "r", stdin); freopen("maze1...
2018-09-01 23:39:48 283
转载 【leetCode】891_子序列宽度之和
难点有两个,一个是思路,一个是算法的数学简化。思路就是先确定子序列的最大值和最小值,然后直接算出来中间塞其他数字有多少种。具体操作起来就是,序列排序,然后两个指针指向最大和最小值,这两个值中间的数个数为n,则中间这些数能做出来的集合数量 = C(n, 0) + C(n, 1) + C(n, 2) + ... + C(n, n - 1) + C(n, n) = (1 + 1)^n; 以上就是...
2018-08-25 22:03:15 609
原创 【leetCode】15_三数之和
class Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int>> ans; vector<int> t; sort(nums.begin(...
2018-08-25 21:56:02 344
原创 【leetCode】13_罗马数字转整数
class Solution {public: int count(const int &N){ int t = 1; int n = N - 1; while(n >= 10){ t *= 10; n /= 10; } return t; ...
2018-08-24 16:55:26 203
原创 【leetCode】12_整数转罗马数字
class Solution {public: string intToRoman(int num) { string ones[4] = {"I", "X", "C", "M"}; string fives[4] = {"V", "L", "D"}; string ans[4] = {}; i
2018-08-24 16:30:48 224
原创 【leetCode】11_盛最多水的容器
算是运用了贪心的思想。正常的贪心思想是:每一步贪心更好的情况。此题的贪心思想是:每一步贪心有可能更好的情况,这时候,结果的变化就是非单调的,所以,要设置一个变量来记录过程中的最优值。左右两个板子的位置我们记为 i 和 j ,长度记为Li 和Lj, 那么就得到盛水的水量 v = (j - i) * min(Lj, Li)。算法是:选择较短的板子,将对应的位置向中心移动一格,重新计算此时的容水量,...
2018-08-24 16:29:18 161
原创 【leetCode】10_正则表达式匹配
这道题花了功夫,所以把想到的的写下来。这个要从字符串的屁股开始匹配。道理很简单,从正面匹配,匹配的方式很多,需要全部枚举,不利于缩小问题规模,举个例子,aac和a*a*a*c,从正面开始匹配,从全部需要枚举的匹配情况中举几个例子:aac匹配a*a*a*c,匹配a*a*a*c,匹配a*a*a*c。从屁股开始匹配的话,则可以以几乎确定的方式缩小问题规模。还是aaa和a*a*a*a,第一次,必然...
2018-08-22 21:02:33 224
原创 【leetCode】9_回文数
class Solution {public: bool isPalindrome(int x) { int n = x; string s; stringstream ss; ss << n; ss >> s; int length = s.length(); ...
2018-08-22 20:44:42 135
原创 【leetCode】8_字符串转整数
class Solution { public int myAtoi(String str) { int tag = 1; int ans = 0; int i = 0; if (str.isEmpty()) return 0; while (str.charAt(i) == ' ')...
2018-08-18 18:06:42 168
原创 【leetCode】6_Z字型变换
class Solution { public String convert(String s, int numRows) { String ans = ""; int length = s.length(); for (int i = 0; i < numRows; i ++){ int j = i; ...
2018-08-18 17:21:07 207
原创 【leetCode】7_反转整数
class Solution { public int reverse(int x) { int y = 0; int ty = 0; int pn = x > 0? 1:-1; while (x != 0){ ty = y; y *= 10; i...
2018-08-17 16:15:06 615
原创 【leetCode】5_最长回文字符串
class Solution { public String longestPalindrome(String s) { int maxLength = 0, ti = 0, tj = 1; int strlen = s.length(); int[][] dp = new int[strlen + 5][strlen + 5]; ...
2018-08-17 16:14:06 242
原创 【leetCode】4_两个排序数组的中位数
class Solution { public double findMedianSortedArrays(int[] nums1, int[] nums2) { int m = nums1.length, n = nums2.length; int p1 = 0, p2 = 0; int ending = (m + n - 1) / 2 ...
2018-08-16 16:00:31 173
原创 【leetCode】3_无重复的最长子串
class Solution { boolean[] alpha = new boolean[257]; public void resetAlpha(){ for (int i = 0; i < 257; i ++){ alpha[i] = false; } } public int lengthOf...
2018-08-16 15:59:28 165
原创 【leetCode】2_两数相加
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode addTwoNumb...
2018-08-16 15:57:51 217
空空如也
类中const函数的返回值问题
2014-11-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人