classSolution{public:intcountTexts(stringpressedKeys){intm=1000000007;vectordp3={1,1,2,4};vectordp4={1,1,2,4};intn=pressedKeys.size();for(inti=4;i
Leetcode刷题笔记题解(C++):64. 最小路径和
Demo.demo
Leetcode算法题解leetcode笔记c++
思路一:dfs深度优先搜索,然后取最小路径值,但是时间消耗较大,时间复杂度可能不满足,代码如下:classSolution{public:intres=1000000;introws,cols;intminPathSum(vector>&grid){rows=grid.size();cols=grid[0].size();dfs(grid,0,0,0);returnres;}voiddfs(vec
【Linux】命令行解释器脚本编写
樊梓慕
Linuxlinux运维服务器
樊梓慕:个人主页个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C++》《Linux》《算法》每一个不曾起舞的日子,都是对生命的辜负目录前言1.简单了解命令行解释器2.为什么要手写一个命令行解释器?3.命令行解释器脚本编写3.1打印提示符3.2获取用户输入3.3解析用户输入(分割字符串)3.4创建子进程进行程序替换3.5内建命令的处理3.5.1什么是内建命令
Leetcode刷题笔记题解(C++):590. N 叉树的后序遍历
Demo.demo
Leetcode算法题解leetcode笔记c++
思路:类似于二叉树的排序,这里需要将子树进行依次递归遍历,前序遍历也与之类似/*//DefinitionforaNode.classNode{public:intval;vectorchildren;Node(){}Node(int_val){val=_val;}Node(int_val,vector_children){val=_val;children=_children;}};*/class
Leetcode刷题笔记题解(C++):257. 二叉树的所有路径
Demo.demo
Leetcode算法题解leetcode笔记c++
思路:深度优先搜索/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),left(nullptr),right(nullptr){}*TreeNode(intx):val(x),left(nullptr),right(nullptr){}*
Leetcode刷题笔记题解(C++):45. 跳跃游戏 II
Demo.demo
Leetcode算法题解leetcode笔记c++
classSolution{public:intjump(vector&nums){intans=0;intstart=0;intend=1;while(end=nums.size())returnans+1;}start=end;end=maxpos+1;ans++;}returnans;}};
【Linux】文件周边002之初步理解文件管理(打开的文件)
樊梓慕
Linuxlinux运维服务器
樊梓慕:个人主页个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C++》《Linux》《算法》每一个不曾起舞的日子,都是对生命的辜负目录前言1.(打开的)文件管理2.重定向2.1dup2系统调用3.如何理解Linux下一切皆文件4.C语言中的FILE结构体4.1FILE中的文件描述符4.2FILE中的缓冲区前言本篇文章博主将会讲解『Linux系统是如何管理文
Leetcode刷题笔记题解(C++):200. 岛屿数量
Demo.demo
Leetcode算法题解leetcode笔记c++
思路:利用深度优先搜索的思路来查找1身边的1,并且遍历之后进行0替换防止重复dfs,代码如下所示classSolution{public:intnumIslands(vector>&grid){introw=grid.size();intcol=grid[0].size();intnumoflands=0;//从第一行开始遍历,是岛屿则进行周围深度优先搜索for(intr=0;r>&grid,in
Leetcode刷题笔记题解(C++):1863. 找出所有子集的异或总和再求和
Demo.demo
Leetcode算法题解leetcode笔记c++
思路如下:递归思路,依次遍历数组中的数,当前数要不要选择像二叉树一样去遍历如下图所示00(选5)5(不选5)0101060606060+6+1+7+5+3+4+2=28classSolution{public:intres=0;intn=0;intsubsetXORSum(vector&nums){n=nums.size();dfs(nums,0,0);returnres;}voiddfs(vec
Leetcode刷题笔记题解(C++):66. 加一
Demo.demo
Leetcode算法题解c++leetcode数据结构
思路:分为两种情况1.没有进位,直接+完就完,比如46+1=472.有进位而且还需要扩展一位,比如99+1=100代码如下:classSolution{public:vectorplusOne(vector&digits){intjinwei=1;for(inti=digits.size()-1;i>=0;i--){inttemp=digits[i];digits[i]=(temp+jinwei)
Leetcode刷题笔记题解(C++):6. Z 字形变换
Demo.demo
Leetcode算法题解字符串c++leetcode算法
思路:根据每个字符的下标来确定它在哪一行,然后生产新的字符串即可代码如下:classSolution{public:stringconvert(strings,intnumRows){intsize=s.length();//行数取定义行数,如果字符串的长度小于行数的话则取字符串长度numRows=min(numRows,size);//如果字符串的长度为1或者行数为1时,直接输出原字符串if(n
Leetcode刷题笔记题解(C++):18. 四数之和
Demo.demo
Leetcode算法题解c++算法leetcode数据结构
思路:在三数之和的基础上加一层循环即可,注意跳过相等的元素。代码如下,思路也可以看看我的注释:classSolution{public:vector>fourSum(vector&nums,inttarget){//先从小到大进行排序sort(nums.begin(),nums.end());//存放结果vector>result;//数组大小intsize=nums.size();//选择第一个
Leetcode刷题笔记题解(C++):LCR 016.无重复字符的最长子串
Demo.demo
Leetcode算法题解leetcode笔记c++
思路:利用滑动窗口的思想,用起始位置startindex和curlength来记录这个滑动窗口的大小,并且得出最长距离;利用哈希表来判断在滑动窗口中是否存在重复字符,代码如下所示:classSolution{public:intlengthOfLongestSubstring(strings){//如果为空字符串,则返回0if(s.length()==0)return0;intmaxlength=
Leetcode刷题笔记题解(C++):51. N皇后
Demo.demo
剪枝leetcodec++N皇后问题递归回溯
思路:递归回溯符合规则:左上方(斜),上方(列),右上方(斜)都没有放置Q从第一行找位置,在第一行中遍历找位置,如果符合要求则放置皇后进入到下一行或者不放皇后看下一个位置如果最后行数=要求的n,则得到结果,大概思路图:(4皇后为例)看图大概能看懂的吧,几乎把每一种结果都试了,最后行数=n的话则为结果,剪枝的条件是符合上面那个规则代码如下:classSolution{public:vector>so
Leetcode刷题笔记题解(C++):94. 二叉树的中序遍历
Demo.demo
Leetcode算法题解c++算法leetcode二叉树栈
思路:利用栈做辅助来写算法,具体流程可见下图:帮助理解classSolution{public:vectorinorderTraversal(TreeNode*root){vectorres;stacks;while(root||!s.empty()){if(root){s.push(root);root=root->left;}else{root=s.top();res.push_back(ro
Leetcode刷题笔记题解(C++):1306. 跳跃游戏 III
Demo.demo
Leetcode算法题解bfsc++leetcode数据结构算法
利用BFS的思路,注意标记已经走过的下标,还有两种跳跃的情况向前走或者向后走。代码如下:classSolution{public:boolcanReach(vector&arr,intstart){if(arr[start]==0)returntrue;queueq;vectorused(arr.size());q.push(start);used[start]=true;while(!q.emp
Leetcode刷题笔记题解(C++):141. 环形链表
Demo.demo
Leetcode算法题解c++leetcode链表回环
解决思路:常规做法就是利用辅助数据来记录遍历的节点,如果当前遍历的节点在辅助空间中存在即存在循环链表,否则没有存在循环链表。但是需要空间比较大。这里思路是用两个节点不同速度去遍历,一个走两步,一个走一步,在遍历不为空的情况下如果某次相遇则是回环链表。代码如下:/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*n
Leetcode刷题笔记题解(C++):739. 每日温度
Demo.demo
Leetcode算法题解c++栈算法leetcode
###解题思路:利用栈来解决。注意的是栈中压入的下标的值首先压入0如果栈不为空且要压入的下标值i有T[i]>T[栈顶元素]则res[栈顶元素]=i-栈顶元素否则继续压栈,直到压完T中所有的数据为止。还要注意的是,开始对res全部赋值为0,这就对栈中的元素没弹出来的默认为0;这里附一下图吧,好理解一点。代码如下:classSolution{public:vectordailyTemperatures
Leetcode刷题笔记题解(C++):36. 有效的数独
Demo.demo
Leetcode算法题解leetcode笔记c++
思路一:暴力破解,两个二维数组记录行、列对应的数字出现的次数,比如rows[i][index]表示的数字index在i行出现的次数,三维数组记录每个块中对应数字出现的次数,比如boxes[i/3][j/3][index]表示的数字index在[i/3][j/3]个块中出现的次数,然后进行判断可以得出结果,超过1则不符合代码如下:classSolution{public:boolisValidSud
Leetcode刷题笔记题解(C++):99. 恢复二叉搜索树
Demo.demo
Leetcode算法题解leetcode笔记c++
思路:二叉搜索树的中序遍历是递增序列,可以在中序遍历中记录两个需要交换的节点,直到遍历完毕之后,对两个节点的值进行交换即可得到正确的二叉搜索树比如中序序列为1237564(7比5大记录7为x,6比4大记录4为y,交换x与y)/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;
多线程编程之卫生间
周凡杨
java并发卫生间线程厕所
如大家所知,火车上车厢的卫生间很小,每次只能容纳一个人,一个车厢只有一个卫生间,这个卫生间会被多个人同时使用,在实际使用时,当一个人进入卫生间时则会把卫生间锁上,等出来时打开门,下一个人进去把门锁上,如果有一个人在卫生间内部则别人的人发现门是锁的则只能在外面等待。问题分析:首先问题中有两个实体,一个是人,一个是厕所,所以设计程序时就可以设计两个类。人是多数的,厕所只有一个(暂且模拟的是一个车厢)。
How to Install GUI to Centos Minimal
sunjing
linuxInstallDesktopGUI
http://www.namhuy.net/475/how-to-install-gui-to-centos-minimal.html
I have centos 6.3 minimal running as web server. I’m looking to install gui to my server to vnc to my server. You can insta
Shell 函数
daizj
shell函数
Shell 函数
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。
shell中函数的定义格式如下:
[function] funname [()]{
action;
[return int;]
}
说明:
1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
2、参数返回
Linux服务器新手操作之一
周凡杨
Linux 简单 操作
1.whoami
当一个用户登录Linux系统之后,也许他想知道自己是发哪个用户登录的。
此时可以使用whoami命令。
[ecuser@HA5-DZ05 ~]$ whoami
e
浅谈Socket通信(一)
朱辉辉33
socket
在java中ServerSocket用于服务器端,用来监听端口。通过服务器监听,客户端发送请求,双方建立链接后才能通信。当服务器和客户端建立链接后,两边都会产生一个Socket实例,我们可以通过操作Socket来建立通信。
首先我建立一个ServerSocket对象。当然要导入java.net.ServerSocket包
ServerSock
关于框架的简单认识
西蜀石兰
框架
入职两个月多,依然是一个不会写代码的小白,每天的工作就是看代码,写wiki。
前端接触CSS、HTML、JS等语言,一直在用的CS模型,自然免不了数据库的链接及使用,真心涉及框架,项目中用到的BootStrap算一个吧,哦,JQuery只能算半个框架吧,我更觉得它是另外一种语言。
后台一直是纯Java代码,涉及的框架是Quzrtz和log4j。
都说学前端的要知道三大框架,目前node.
You have an error in your SQL syntax; check the manual that corresponds to your
林鹤霄
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'option,changed_ids ) values('0ac91f167f754c8cbac00e9e3dc372
MySQL5.6的my.ini配置
aigo
mysql
注意:以下配置的服务器硬件是:8核16G内存
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir=D:/mysql-5.6.21-win
mysql 全文模糊查找 便捷解决方案
alxw4616
mysql
mysql 全文模糊查找 便捷解决方案
2013/6/14 by 半仙
[email protected]
目的: 项目需求实现模糊查找.
原则: 查询不能超过 1秒.
问题: 目标表中有超过1千万条记录. 使用like '%str%' 进行模糊查询无法达到性能需求.
解决方案: 使用mysql全文索引.
1.全文索引 : MySQL支持全文索引和搜索功能。MySQL中的全文索
自定义数据结构 链表(单项 ,双向,环形)
百合不是茶
单项链表双向链表
链表与动态数组的实现方式差不多, 数组适合快速删除某个元素 链表则可以快速的保存数组并且可以是不连续的
单项链表;数据从第一个指向最后一个
实现代码:
//定义动态链表
clas
threadLocal实例
bijian1013
javathreadjava多线程threadLocal
实例1:
package com.bijian.thread;
public class MyThread extends Thread {
private static ThreadLocal tl = new ThreadLocal() {
protected synchronized Object initialValue() {
return new Inte
activemq安全设置—设置admin的用户名和密码
bijian1013
javaactivemq
ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到
<bean id="adminSecurityConstraint" class="org.eclipse.jetty.util.security.Constraint">
<p
【Java范型一】Java范型详解之范型集合和自定义范型类
bit1129
java
本文详细介绍Java的范型,写一篇关于范型的博客原因有两个,前几天要写个范型方法(返回值根据传入的类型而定),竟然想了半天,最后还是从网上找了个范型方法的写法;再者,前一段时间在看Gson, Gson这个JSON包的精华就在于对范型的优雅简单的处理,看它的源代码就比较迷糊,只其然不知其所以然。所以,还是花点时间系统的整理总结下范型吧。
范型内容
范型集合类
范型类
【HBase十二】HFile存储的是一个列族的数据
bit1129
hbase
在HBase中,每个HFile存储的是一个表中一个列族的数据,也就是说,当一个表中有多个列簇时,针对每个列簇插入数据,最后产生的数据是多个HFile,每个对应一个列族,通过如下操作验证
1. 建立一个有两个列族的表
create 'members','colfam1','colfam2'
2. 在members表中的colfam1中插入50*5
Nginx 官方一个配置实例
ronin47
nginx 配置实例
user www www;
worker_processes 5;
error_log logs/error.log;
pid logs/nginx.pid;
worker_rlimit_nofile 8192;
events {
worker_connections 4096;}
http {
include conf/mim
java-15.输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环
bylijinnan
java
//use recursion
public static void mirrorHelp1(Node node){
if(node==null)return;
swapChild(node);
mirrorHelp1(node.getLeft());
mirrorHelp1(node.getRight());
}
//use no recursion bu
返回null还是empty
bylijinnan
javaapachespring编程
第一个问题,函数是应当返回null还是长度为0的数组(或集合)?
第二个问题,函数输入参数不当时,是异常还是返回null?
先看第一个问题
有两个约定我觉得应当遵守:
1.返回零长度的数组或集合而不是null(详见《Effective Java》)
理由就是,如果返回empty,就可以少了很多not-null判断:
List<Person> list
[科技与项目]工作流厂商的战略机遇期
comsci
工作流
在新的战略平衡形成之前,这里有一个短暂的战略机遇期,只有大概最短6年,最长14年的时间,这段时间就好像我们森林里面的小动物,在秋天中,必须抓紧一切时间存储坚果一样,否则无法熬过漫长的冬季。。。。
在微软,甲骨文,谷歌,IBM,SONY
过度设计-举例
cuityang
过度设计
过度设计,需要更多设计时间和测试成本,如无必要,还是尽量简洁一些好。
未来的事情,比如 访问量,比如数据库的容量,比如是否需要改成分布式 都是无法预料的
再举一个例子,对闰年的判断逻辑:
1、 if($Year%4==0) return True; else return Fasle;
2、if ( ($Year%4==0 &am
java进阶,《Java性能优化权威指南》试读
darkblue086
java性能优化
记得当年随意读了微软出版社的.NET 2.0应用程序调试,才发现调试器如此强大,应用程序开发调试其实真的简单了很多,不仅仅是因为里面介绍了很多调试器工具的使用,更是因为里面寻找问题并重现问题的思想让我震撼,时隔多年,Java已经如日中天,成为许多大型企业应用的首选,而今天,这本《Java性能优化权威指南》让我再次找到了这种感觉,从不经意的开发过程让我刮目相看,原来性能调优不是简单地看看热点在哪里,
网络学习笔记初识OSI七层模型与TCP协议
dcj3sjt126com
学习笔记
协议:在计算机网络中通信各方面所达成的、共同遵守和执行的一系列约定 计算机网络的体系结构:计算机网络的层次结构和各层协议的集合。 两类服务: 面向连接的服务通信双方在通信之前先建立某种状态,并在通信过程中维持这种状态的变化,同时为服务对象预先分配一定的资源。这种服务叫做面向连接的服务。 面向无连接的服务通信双方在通信前后不建立和维持状态,不为服务对象
mac中用命令行运行mysql
dcj3sjt126com
mysqllinuxmac
参考这篇博客:http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html 感觉workbench不好用(有点先入为主了)。
1,安装mysql
在mysql的官方网站下载 mysql 5.5.23 http://www.mysql.com/downloads/mysql/,根据我的机器的配置情况选择了64
MongDB查询(1)——基本查询[五]
eksliang
mongodbmongodb 查询mongodb find
MongDB查询
转载请出自出处:http://eksliang.iteye.com/blog/2174452 一、find简介
MongoDB中使用find来进行查询。
API:如下
function ( query , fields , limit , skip, batchSize, options ){.....}
参数含义:
query:查询参数
fie
base64,加密解密 经融加密,对接
y806839048
经融加密对接
String data0 = new String(Base64.encode(bo.getPaymentResult().getBytes(("GBK"))));
String data1 = new String(Base64.decode(data0.toCharArray()),"GBK");
// 注意编码格式,注意用于加密,解密的要是同
JavaWeb之JSP概述
ihuning
javaweb
什么是JSP?为什么使用JSP?
JSP表示Java Server Page,即嵌有Java代码的HTML页面。使用JSP是因为在HTML中嵌入Java代码比在Java代码中拼接字符串更容易、更方便和更高效。
JSP起源
在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。
如果使用Servl
apple watch 指南
啸笑天
apple
1. 文档
WatchKit Programming Guide(中译在线版 By @CocoaChina) 译文 译者 原文 概览 - 开始为 Apple Watch 进行开发 @星夜暮晨 Overview - Developing for Apple Watch 概览 - 配置 Xcode 项目 - Overview - Configuring Yo
java经典的基础题目
macroli
java编程
1.列举出 10个JAVA语言的优势 a:免费,开源,跨平台(平台独立性),简单易用,功能完善,面向对象,健壮性,多线程,结构中立,企业应用的成熟平台, 无线应用 2.列举出JAVA中10个面向对象编程的术语 a:包,类,接口,对象,属性,方法,构造器,继承,封装,多态,抽象,范型 3.列举出JAVA中6个比较常用的包 Java.lang;java.util;java.io;java.sql;ja
你所不知道神奇的js replace正则表达式
qiaolevip
每天进步一点点学习永无止境纵观千象regex
var v = 'C9CFBAA3CAD0';
console.log(v);
var arr = v.split('');
for (var i = 0; i < arr.length; i ++) {
if (i % 2 == 0) arr[i] = '%' + arr[i];
}
console.log(arr.join(''));
console.log(v.r
[一起学Hive]之十五-分析Hive表和分区的统计信息(Statistics)
superlxw1234
hivehive分析表hive统计信息hive Statistics
关键字:Hive统计信息、分析Hive表、Hive Statistics
类似于Oracle的分析表,Hive中也提供了分析表和分区的功能,通过自动和手动分析Hive表,将Hive表的一些统计信息存储到元数据中。
表和分区的统计信息主要包括:行数、文件数、原始数据大小、所占存储大小、最后一次操作时间等;
14.1 新表的统计信息
对于一个新创建
Spring Boot 1.2.5 发布
wiselyman
spring boot
Spring Boot 1.2.5已在7月2日发布,现在可以从spring的maven库和maven中心库下载。
这个版本是一个维护的发布版,主要是一些修复以及将Spring的依赖提升至4.1.7(包含重要的安全修复)。
官方建议所有的Spring Boot用户升级这个版本。
项目首页 | 源