自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wusutata的专栏

努力吧

  • 博客(43)
  • 资源 (8)
  • 收藏
  • 关注

原创 leetcode Letter Case Permutation

最朴素的回溯:class Solution {public: vector<string> letterCasePermutation(string S) { string tmp = ""; vector<string> ans; LetterCase(0, S, ans, tmp); re...

2019-04-08 21:38:35 156

原创 leetcode Trapping Rain Water

AC代码时间复杂度为O(n),空间复杂度为O(1)。只用了i,j,k三个变量作为指针。思路是:设置两个指针i,j,i指向左边的第一个高大于0的柱子,j指向右边第一个高大于0的柱子。然后,选择这两课柱子中较矮的那个(若两者相等,则选择i),从这个位置开始直到其后(或者其前)的第一个大于它的高度的柱子之间,统计这段区间内的面积。如这里第一次循环时选择i,则i向右移动到第二个黑色柱子处停下(此时...

2019-03-29 13:24:25 209

原创 leetcode Third Maximum Number

如何求无序数组中最大的k个数系列1这道题是求数组中第三大的数。方法一:C++的set容器的特点是内部自动有序且不包含重复元素。本题可以保持一个大小为3的set容器。每次向set中添加元素,添加完后若元素个数大于3,则从set中删除最小的元素。保留的永远是数组当前最大的3个元素。AC代码class Solution {public: int thirdMax(vecto...

2019-03-28 09:34:10 216

原创 LeetCode. Two Sum系列之IV - Input is a BST

解法一:使用HashSet,在中序遍历树的同时,判断是否在HashSet中已经存在一个值和当前根节点的值相加可以满足等于target。c++版本:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *rig...

2019-03-26 16:18:27 149

原创 LeetCode. Two Sum系列

1. Two Sum三种解法,第一种是暴力破解,时间复杂度为O(n^2)。第二种是使用HashMap,第三种也是使用HashMap,是在第二种基础上的优先,这里只记录第二种和第三种。第二种解法JAVA版本class Solution { public int[] twoSum(int[] nums, int target) { Map<Integer, ...

2019-03-26 15:14:15 114

原创 392. Is Subsequence

这道题是给出两个字符串,求第一个字符串s是否是第二个字符串t的子序列。即字符串s中每个字符在字符串t都出现过,且相对顺序不变,但是可能不连续。AC代码如下:思路:依次检查s中每个字符是否都在字符串t中,如果在就继续在字符串t中向后找s中的下一个字符。如果已经遍历了字符串t中的每一个字符还没有找完字符串s,则说明s不是t的子序列。class Solution {public:...

2019-03-25 19:39:11 100

原创 LeetCode Remove Duplicates from Sorted Array

这一系列有几道题,这一题是其中最简单的那道。但是掌握了解题的思想就会发现都是一样的解法。设定两个指针i和j,其中i指向新数组的最后一个元素(也就是说i及其之前的元素都是不重复的元素),而j指向当前正在判断是否加入新数组中的元素(也就是说j前面的元素都已经加入确定了是加入原数组中,还是丢弃)。如果出现了nums[i]==nums[j],说明出现重复,就丢弃nums[j],直接指针后移,否则将...

2019-03-25 19:11:27 59

原创 LeetCode Daily Temperatures

思路:从后往前遍历数组。原数组用T表示。设置一个可变数组ans保存结果,用于保存每一天为了等到一个比这天更暖和的天(即找到一个比这个数更大的数)应该等待的天数。数组下标从0到n-1,n表示数组中总的元素个数。对于数组中的最后一个数,毫无疑问,ans[n-1]=0;对于剩下的每一个数则有几种情况。第一种情况是最简单的,就是对于数组中的第i个数而言,位于其后的第i+1个大于它即T[i]&lt;...

2019-03-13 22:18:34 134

原创 Insertion Sort List

AC代码1class Solution {public: ListNode* insertionSortList(ListNode* head) { if(head==NULL || head-&gt;next==NULL) return head; ListNode* pCur = head; ...

2019-03-06 11:12:49 94

原创 C++ vector基础知识

vector中在头部插入一个元素。如下代码所示: vector&lt;int&gt; a(3, 2); vector&lt;int&gt;::iterator it; it = a.begin(); a.insert(it, 100); for(int i=0;i&lt;a.size();i++) cout&lt;&lt;a[i]&lt;&lt;" "; cout&lt;&...

2019-03-04 22:15:33 156

原创 LeetCode Remove Duplicates from Sorted List II

思路:这道题可以添加一个额外的结点作为头结点,头结点中不存储数据,只作为第一个结点。这里采用的是未使用额外头结点的解法。保持三个指针,p, q, cur,这三个指针分别指向三个相邻结点, p是q的前驱,cur是q的后继。初始化时p=NULL, q = head, cur =head-&gt;nex。若q-&gt;val!=cur-&gt;val,即q指向的结点的val和cur指向的节点的...

2019-03-02 21:36:15 130

原创 leetcode Partition List

思路:思路是受了快排中将数组通过一个主元分成两部分的思路启发。因此,保存两个指针p1和p2,p1指向当前最后一个值小于x的结点,p2指向当前正在检查的结点,处于head指针和p1(包括p1指针指向的结点)之内的所有结点都满足值小于x,处于p1的后继结点(p1-&gt;next指向的结点)和p2的前驱结点(该结点的next指向p2)之间的所有结点的值大于等于x,如果p2的值大于等于x,则让p2指向其...

2019-03-02 15:26:44 120

原创 Leetcode Reverse Linked List

思路:逆转一个链表,分别考虑链表为空,链表有1个结点,链表有&gt;=2个结点。若为前两种情况,可直接返回。若链表中有&gt;=2结点。则一次从头结点开始逆转每个结点的next指针。从头结点开始,需要逆转头结点指向第2个结点的next指针,必须保存是三个指针,这三个指针分别指向头结点,第2个结点,第三个结点(如果第三个结点存在的话)。这样需要逆转头结点指向第2个结点的指针,只需要修改指向第2个...

2019-03-01 11:11:00 70

原创 leetcode Validate Binary Search Tree

AC代码一class Solution {public:bool isValidBST(TreeNode* root) { if(root==NULL) return true; if(root-&gt;left==NULL &amp;&amp; root-&gt;right==NULL) return true; bool lflag = isValidBST(...

2019-02-27 22:28:29 85

原创 python list 方法

有三种方法可以从list中删除元素,用法各有不同。list 的pop()方法从list的尾部删除元素。如下例。list的remove(item)方法从list中删除指定的元素,如果在list中存在多个相同元素,则删除索引最小的那个。必须传入一个参数,指定要删除的元素。pop()和remove()为list的方法。而del则不是。del 函数从list中删除元素。当使用del...

2019-02-27 19:39:46 128

原创 123. Best Time to Buy and Sell Stock III

AC代码class Solution {public: int maxProfit(vector&lt;int&gt;&amp; prices) { if(prices.size()&lt;=1) return 0; int i,k; vector&lt;int&gt; arr,ans; for...

2019-02-25 20:36:23 178

原创 C++ 引用与指针

引用什么是引用呢?引用是变量的别名,是指向变量的常量指针。#include&lt;iostream&gt;using namespace std;​int main(void){ int i = 10; int &amp;r = i; cout&lt;&lt;"i="&lt;&lt;i&lt;&lt;" "&lt;&lt;"r

2019-01-18 21:59:25 140

原创 几个java实现的PV操作经典例子:读者写者、贪睡的理发师、生产者消费者

其中读者写者和贪睡的理发师使用的Semaphore类;生产者消费者使用的是管程。读者写者:class Semaphore{ int value; public Semaphore(int v) { this.value = v; } public synchronized void p() { valu...

2019-01-18 20:41:55 1989 1

原创 python3 dict按照字典的键或值排序

 下面是一段实例代码。运行结果:对字典使用sorted函数进行排序的结果是一个列表。列表中的每个元素是一个元组。 从以上代码的运行结果可以看出:通过使用匿名函数或者operator模块的itemgetter函数可以指定一个比较的关键字。关于operator.itemgetterimport operatora = [11, 22, 33, 44]f = ope...

2018-09-15 20:10:06 11584

原创 启动elasticsearch

使用elasticsearch时,同时启动kibana和head插件。什么是kibana以下是我从网上找到的对kibana的介绍。但是对我来说,使用kibana主要是因为与【它可以提供与Elasticsearch REST API实现可视化交互】可以在kibana面板中输入查询语言,方便地操作elasticsearch索引。启动elasticsearch我的elastics...

2018-08-03 15:43:18 1791

原创 js在一个字符串中查找另一个字符串

自己实现了KMP算法代码如下:PMT(str){    let next = [], n = 0;    next[0] = 0;    for(let i = 1; i &lt; str.length; i++){        while (n &gt; 0 &amp;&amp; str[i] != str[n]){  // 当前字符不等于第n+1位字符 那么n为次大匹配格式再...

2018-07-26 18:35:30 1363

原创 使用computed计算属性会来观察和响应数据变动

computed是基于依赖缓存的。为了防止滥用 watch,这里使用computed更适合。computed只有在它的相关依赖发生改变时才会重新求值。这意味着只要上面的firstName和lastName不发生改变,多次访问fullName计算属性会立即返回之前的计算结果,而不必再次执行函数。...

2018-07-13 16:13:27 4077

原创 vue中的watch命令式回调

侦听属性用于观察和响应 Vue 实例上的数据变动。watch中监听了firstName和lastName两个属性。以first Name为例。function中的参数val表示修改后的firstName值。当firstName发生变化时,fullName就会重新计算,fullName=新的firstName +' ' +原来的lastName(因为lastName没变化)。...

2018-07-13 16:04:46 1173 1

原创 vue组件系统第一篇

todo_item是一个组件,todo是父组件给子组件传递的数据。

2018-07-12 22:07:00 289

原创 python字典的方法

下面定义了一个字典,调用字典的keys和values方法分别能获得两个迭代器,使用内置函数list能产生这两个迭代器的内容,即两个列表,分别代表字典的键列表和值列表。运行结果字典排序运行结果...

2018-07-08 16:34:26 129

原创 python创建新的对象和创建对象的引用

变量和对象存在内存中的不同部分,并通过连接相关联。变量总是连接到对象,并且绝不会连接到其他变量上,但是更大的对象可能连接到其他的对象(例如一个列表对象能够连接到它所包含的对象)。python中从变量到对象的连接称作引用。也就是说,引用是一种关系,以内存中的指针的形式实现。具体而言:变量是一个系统表的元素,拥有指向对象的连接的空间。对象是分配的一块内存,有足够的空间去表示它们所代表的值。引用是自动形...

2018-07-07 19:40:06 10916

原创 将python数据存入redis中,键取字符串类型

使用redis中的字符串类型键来存储一个python的字典。首先需要使用json模块的dumps方法将python字典转换为字符串,然后存入redis,从redis中取出来必须使用json.loads方法转换为python的字典(其他python数据结构处理方式也一样)。如果不使用json.loads方法转换则会发现从redis中取出的数据的数据类型是bytes.运行结果:当使用的python数据...

2018-07-05 18:37:14 9226

原创 json的dumps方法和loads方法

python中的json模块提供了一种很简单的方式来编码和解码JSON数据。 其中两个主要的函数是 json.dumps()和 json.loads() , 要比其他序列化函数库如pickle的接口少得多。首先我们先定义一个python字典如下:运行结果如下:使用json的dumps方法可以将字典转换为字符串。运行结果如下:使用json模块的loads()方法可以将字符串转换为python的字典。...

2018-07-05 18:18:40 2208

原创 在Python中使用mysql之环境搭建

Mysql安装MysqlMysql 两种安装方式:zip方式和msi方式,其中zip方式更难掌握。慕课网有一个安装mysql的课程https://www.imooc.com/video/1803,这里讲的是MSI安装方式,但是由于某些原因,我没有安装成功。MSI安装方式:在mysql官网下载mysql-installer-web-community-5.7.21.0.msi,下载网址为:https...

2018-04-10 13:28:45 1684

原创 zeromq+python安装

pyzmp版本:17.0.0;zeromq版本4.0.4安装教程见:https://blog.csdn.net/yahohi/article/details/76079331首先,通过exe文件安装zeromq,然后安装Python的库pyzmq。exe文件安装Python的库pyzmq使用如下命令安装:pip install pyzmq...

2018-04-10 13:16:04 1915

原创 shell中重定向

Linux 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示。一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器。什么是重定向?输出重定向命令的输出不仅可以是显示器,还可以很容易的转移向到文件,这被称为输出重定向。$echo result &gt; file  #将结果写入文件,结果不会在控制台展示,而是在文件中,覆盖写$echo resul...

2018-03-30 16:42:11 124

转载 机试--删除嵌套注释

主要判断:1.如何停止,因为注释和代码都单独成行,所以停止的标志是“}”2.如何得到独立一行:一行结束的标志是'\n',得到'\n'停止就可以3.如何判断是不是嵌套注释:遇到'/'或者'*'都做标记,遇到则加1,若个数只有0个(没有注释)或者4个(一个注释)#include #include#include#include#includeusing na

2017-03-06 20:56:26 426

原创 2007浙大复试机试题代码

#include #includeusing namespace std; int main() {      char s1[10];char s2[100];int cnt[10];while(gets(s1)&&strcmp(s1,"#")!=0){gets(s2);memset(cnt,0,sizeof(cnt));int i,j

2017-03-06 20:03:21 171

原创 Mysql模糊查询语法

一.Mysql模糊查询语法支持2种匹配格式1.SQL匹配模式(开发中应用最多的一种)2.正则表达式匹配模式(不推荐使用)1.SQL匹配模式(开发中应用最多的一种)1)使用SQL匹配模式,不能使用操作符=或!=  而是使用like或not like2)使用SQL匹配模式,Mysql提供了2中通配符%表示任意数量的任意字符(其中包括0个)

2016-06-02 13:47:48 731

原创 getimagesizefromstring

array getimagesizefromstring ( string $imagedata [, array &$imageinfo ] )同 getimagesize() 函数。 区别是 getimagesizefromstring() 第一个参数是图像数据的字符串表达,而不是文件名。  $img ='images/banner1.JPG';  $data =f

2016-05-28 16:43:26 524

原创 php函数getimagesize

一.代码段一$img="images/login_bg.png";list($width,$height,$type,$attr) = getimagesize($img);echo $attr;?>上述代码中$img是自定义的图片路径名,login.png是目标图片$width表示图片的宽度$height表示图片的高度$type表示图片的类型$attr

2016-05-28 14:00:36 879

原创 php中的session

一个小程序说明一下全局变量$SESSION和函数session_name[string name];    session_start();    $user= 'username';    // 存储变量的方法一    session_name($user);    echo session_name($user);    //存储变量的方法二 

2016-05-28 13:01:47 203

转载 空指针

任何类型的空指针的值均为0,(char*)0表示一个指向char型对象的空指针。 if(p == (char *) 0 )表示:p是一个char型的指针。p的值如果为0的话,表示无任何指向。NULL是一个宏,是(void*)0整个语句的意思是:判断p的值是否是0,也就是判断p有没有指向哪个区域,如果有,if语句不成立。(char*)0:强制转换,只是为了保证与p的类型保持一

2016-05-22 23:21:13 207

原创 C - Valera and Contest题解

c++基础题,每天刷一点,才有希望变成大神,加油

2015-08-06 21:26:22 489

原创 迷宫问题

学习搜索的基础例子,通过这个小例子,我加深了对广度优先搜索的理解

2015-07-25 00:15:41 306

程序设计语言原理期末复习知识点

这是个人的一份程序设计语言原理期末复习资料,是自己总结的,希望能帮助其他人。

2019-01-18

ryu控制器学习

自己学习ryu控制器的一点东西。学习了一下ryu官方文档中提供的openFlow13简单交换机。

2018-12-26

linux上安装elasticsearch

在linux环境下安装Java,测试成功后安装elasticsearch

2018-07-01

链表代码--指针

链表中最大的难点是指针,而指针同时也是c++中最难的一个概念。保存这份代码,防止自己哪一天需要。

2015-07-30

lzw编码c++版

多媒体技术课要求的作业,lzw词典编码,string类型和char类型都可以写

2015-07-20

MySQL的驱动文件

这是我用到的MySQL的驱动文件.大家也可以自己去找别的。

2015-05-14

链接MySQL数据库

这是一些从网上找的一些链接数据库过程中用到的方法,我就是靠这几篇文章解决了数据库的连接的。这段时间有点忙,等闲下来一定去补一篇更详细的过程描述。

2015-05-14

一个数组去重的小程序

这是一个简单的小程序,主要解决的是去除数组中的重复元素并输出去除重复元素并排序后的数组。

2015-03-15

空空如也

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

TA关注的人

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