- 博客(29)
- 收藏
- 关注
原创 leetcode 459. Repeated Substring Pattern
暴力法 剪枝O(n^2)优化 先从大的子串开始比较class Solution {public: bool repeatedSubstringPattern(string s) { for(int len = s.size()/2; len >=1; len--) {//优化 先从大的子串开始比较 if(s.size()...
2019-03-10 17:18:20
216
原创 leetcode 1007. Minimum Domino Rotations For Equal Row
class Solution {public: int minDominoRotations(vector<int>& A, vector<int>& B) { vector<int> nums; int min=0; for(int i = 1; i &l
2019-03-10 16:09:36
271
原创 leetcode 1006. Clumsy Factorial
没有medium难度的 一道medium题,甚至也用不到动态规划,只要找规律和做一做四则运算就可以AC了。class Solution {public: int clumsy(int N) { if(N < 4) { switch(N){ case 3: return ...
2019-03-10 15:23:24
186
原创 leetcode1005. Maximize Sum Of Array After K Negations
这个问题总的来说还是一个排序加判断的问题。时间复杂度O(nlgn)空间复杂度O(1)先把A从小到大排序,用的是STL自带的排序函数sort()。从负数最小的数开始一个个翻成正数。如果K已经用完了就返回A元素的和。如果K没有用完,那么此时的A的元素已经全部都是大于等于零的数了。如果K此时是偶数,那么直接返回A元素的和,不需要排序,因为一个数翻转两次得到的还是原来的数。如果K此时不是偶数,...
2019-03-10 14:56:15
223
原创 leetcode 344 Reverse String c++ 两种解法
递归解法:class Solution {public: void reverseString(vector<char>& s) { helper(s.begin(), --s.end());} void helper(vector<char>::iterator begin,vector<char>::iterator...
2019-02-28 16:22:10
403
原创 leetcode5. Longest Palindromic Substring
class Solution {public: string longestPalindrome(string s) { if(s.size()==0) return ""; int dp[s.size()][s.size()]; int max=1,l=0; for(int i=0;i<s.size();i++) ...
2019-02-22 18:00:53
105
原创 leetcode 120. Triangle
class Solution {public: int minimumTotal(vector&lt;vector&lt;int&gt;&gt;&amp; triangle) { if(triangle.empty())return 0; int n= triangle.size(); int dp[n][n]; ...
2019-02-19 18:57:14
154
原创 C++ string的一些函数
append()函数C++ string append()添加文本使用append()添加文本常用方法:直接添加另一个完整的字符串:如str1.append(str2);添加另一个字符串的某一段子串:如str1.append(str2, 11, 7);添加几个相同的字符:如str1.append(5, ‘.’);strlen()和.size()有什么区别?strlen(...
2019-02-17 21:13:21
236
原创 c++ STL的一些用法
1.for (const auto &amp;amp;amp;s : strs) {} 和迭代器vector&amp;amp;lt;string&amp;amp;gt; &amp;amp;amp;strs;for (const auto &amp;amp;amp;s : strs){//}STL的insert函数 iterator insert( iterator loc, const TYPE &am
2019-02-17 21:07:51
172
原创 python的一些不常见的语法(python 3中废除了元组展开的写法等)
a**b表示a的b次幂python 3中废除了元组展开的写法也就是以下的写法变成不合法def fxn(a, (b, c), d):pass具体的原因与正确的用法见https://www.python.org/dev/peps/pep-3113/#transition-plan...
2019-02-16 23:29:55
523
原创 leetcode116. Populating Next Right Pointers in Each Node
/** * Definition for binary tree with next pointer. * struct TreeLinkNode { * int val; * TreeLinkNode *left, *right, *next; * TreeLinkNode(int x) : val(x), left(NULL), right(NULL), next(NULL) ...
2019-02-12 19:36:43
118
原创 leetcode209. Minimum Size Subarray Sum
只有解了O(n)的解法。用queue实现。class Solution {public: int minSubArrayLen(int s, vector<int>& nums) { int ans=0; int min=nums.size()+1; int sum=0; queue<int>...
2019-02-10 22:35:15
94
转载 基于范围的for循环(C++11)
基于范围的for循环(C++11)for 语句允许简单的范围迭代:int my_array[5] = {1, 2, 3, 4, 5};// 每个数组元素乘于 2for (int &amp;x : my_array){x *= 2;cout &lt;&lt; x &lt;&lt; endl;}// auto 类型也是 C++11 新标准中的,用来自动获取变量的类型for (aut...
2019-02-06 15:46:35
176
原创 leetcode 2 Add Two Numbers
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* ad...
2019-02-03 17:48:05
107
原创 leetcode 234 Palindrome Linked List
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: bool ...
2019-02-03 15:53:04
151
原创 leetcode 328 Odd Even Linked List
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* od...
2019-02-03 15:05:31
98
原创 leetcode 203: Remove Linked List Elements
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* re...
2019-02-03 13:56:20
108
原创 leetcode 160 Intersection of Two Linked Lists
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *ge...
2019-02-02 20:43:55
112
原创 Leetcode 141Linked List Cycle
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: bool hasCycl...
2019-02-02 17:01:16
152
原创 leetcode 707 design-linked-list
class MyLinkedList {public:struct Node { int val; Node *next; Node(int x) : val(x), next(NULL) {}};Node *head;/** Initialize your data structure here. */MyLinkedList() { head ...
2019-02-02 16:46:54
63
转载 nullptr与NULL 的区别
引入nullptr的原因引入nullptr的原因,这个要从NULL说起。对于C和C++程序员来说,一定不会对NULL感到陌生。但是C和C++中的NULL却不等价。NULL表示指针不指向任何对象,但是问题在于,NULL不是关键字,而只是一个宏定义(macro)。NULL在C中的定义在C中,习惯将NULL定义为void*指针值0:#define NULL (void*)0 但同时,也允许...
2019-02-01 17:41:41
621
转载 define的“函数定义”
define的“函数定义”define可以像函数那样接受一些参数,如下#define max(x,y) (x)>(y)?(x):(y);这个定义就将返回两个数中较大的那个,看到了吗?因为这个“函数”没有类型检查,就好像一个函数模板似的,当然,它绝对没有模板那么安全就是了。可以作为一个简单的模板来使用而已。但是这样做的话存在隐患,例子如下:#define Add(a,b) a+b;...
2019-01-30 21:51:57
3822
转载 结构体中定义函数指针
函数指针的定义一般的函数指针可以这么定义: int (*func)(int,int);表示一个指向含有两个int参数并且返回值是int形式的任何一个函数指针C语言中的struct是最接近类的概念,但是在C语言的struct中只有成员,不能有函数,但是可以有指向函数的指针,这也就方便了我们使用函数了。c语言中,如何在结构体中实现函数的功能?把结构体做成和类相似,让他的内部有属性,也有方法...
2019-01-30 21:51:19
748
原创 UVA1586
#include<iostream>#include<string>#include<string.h>#include<cmath>#include <iomanip>using namespace std;int main(){ int n; cin>>n; string s; ...
2019-01-20 15:04:35
152
转载 scanf()和getchar() 使用
问题描述:(分析scanf()和getchar()读取字符)scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的。但是有时候却就是因为使用这些函数除了问题,却找不出其中的原因。下面先看一个很简单的程序:程序1:#include <stdio.h>int main(){char ch1, ch2;scanf("%c", &a...
2019-01-20 01:49:18
277
原创 flask 显示本地图片
python代码为@lb.route('/&lt;int:id&gt;/mainpage', methods=('GET', 'POST'))def mainpage(id) root_dir = os.path.abspath(os.path.dirname(__file__)) img_path=root_dir+'\static'+'\images'#图片文件存储在static文件夹...
2019-01-19 22:36:54
11319
1
原创 UVa 1585 - Score
//UVA1585 习题3-1#include &lt;iostream&gt;#include&lt;string&gt;#include&lt;string.h&gt;#include&lt;stdio.h&gt;using namespace std;int main(){ char s[80]; int n; scanf(&q
2019-01-15 02:03:30
198
原创 循环内部局部变量与调用栈
正如其他博客所提到的,局部变量的生命周期是在一个大括号内,即一个所处块结束。局部变量和全局变量的区别,局部变量的生命周期是从创建开始到所处的块结束就被回收,而全局变量的生命周期是从创建开始到程序结束。正如上面所说,局部变量是直到所处的块结束才从调用栈中把它回收。先看下面的代码。for(int i = 0;i&lt;10;i++){int j=0;}上面代码中的的整型变量i知道for循...
2019-01-14 01:30:39
816
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人