题目如下数据范围观察数据范围发现s最长也就100也就是说O(n^2)的暴力法的时间复杂度也是可以接受的。不过本题使用不定长滑动窗口可以优化至O(n)是本人比较推荐的。那么滑动窗口是如何把时间复杂度优化成O(n)的呢?暴力法如下for(inti=0;imap;intn=s.size();if(n==0)return0;intmax1=1;intj=0;for(inti=0;i
leetcode_链表 21.合并两个有序链表
MiyamiKK57
leetcode链表算法
21.合并两个有序链表将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。思路:定义一个哑节点(dummynode),哑节点是一个初始的虚拟节点,它不存储有效值,只是方便操作,定义一个指针current指向哑节点,用于构建新链表。遍历两个链表,使用两个指针p1和p2分别指向list1和list2的头部,并比较p1.val和p2.val,将较小值的节点连接到c
动态规划详解-最小路径和问题【python】
数据分析螺丝钉
LeetCode刷题与模拟面试动态规划算法leetcodepython数据结构
作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。会一些的技术:数据分析、算法、SQL、大数据相关、python欢迎加入社区:码上找工作作者专栏每日更新:LeetCode解锁1000题:打怪升级之旅python数据分析可视化:企业实战案例备注说明:方便大家阅读,统一使用python,带必要注释,公众号数据分析螺丝钉一起打怪升级1.问题介绍和应用场景最小路径和问题是一个常见的动态规划问
单值二叉树(C语言详解版)
扶我起来我还能再做一题
leetcode每日一题c语言算法开发语言
一、摘要今天要讲的是leetcode单值二叉树,这里用到的C语言,主要提供的是思路,大家看了我的思路之后可以点击链接自己试一下。二、题目简介如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回true;否则返回false。示例1:输入:[1,1,1,1,1,null,1]输出:true示例2:输入:[2,2,2,5,2]输出:false提示:给定树的节点
LeetCode刷题day19——贪心
Jessie_waverider
leetcode算法贪心算法
LeetCode刷题day19——贪心55.跳跃游戏分析:45.跳跃游戏Ⅱ分析:452.用最少数量的箭引爆气球分析:**总结**55.跳跃游戏给你一个非负整数数组nums,你最初位于数组的第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回true;否则,返回false。示例1:输入:nums=[2,3,1,1,4]输出:true解释:可以先
LeetCode刷题day18——贪心
Jessie_waverider
leetcode算法贪心算法
LeetCode刷题day18——贪心135.分发糖果分析:406.根据身高重建队列分析:`for(auto&p:people)`昨天写了一道,今天写了一道,都有思路,却不能全整对。昨天和小伙伴聊天,说是因为最近作业多,昨天没打题,负罪感满满,养成习惯了都。135.分发糖果n个孩子站成一排。给你一个整数数组ratings表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果:每个孩子至少分配到
【Day24 LeetCode】贪心Ⅱ
银河梦想家
leetcode算法
一、贪心Ⅱ1、买卖股票的最佳时机II122这题第一想法是使用动态规划做,每天有两个状态,持有股票和非持有股票,每次计算这两个状态下的最优值。classSolution{public:intmaxProfit(vector&prices){//表示当前没有/有股票的两个状态intdp0=0,dp1=-prices[0];for(inti=1;i&prices){intans=0;for(inti=1
【Day26 LeetCode】贪心Ⅳ
银河梦想家
leetcode算法
一、贪心1、用最少数量的箭引爆气球452对右区间进行排序,然后判断其它区间是否与该区间有重叠。classSolution{staticboolcmp(vector&a,vector&b){returna[1]>&points){//对右区间进行排序sort(points.begin(),points.end(),cmp);intpre=points[0][1],ans=1;for(autopoin
【Day1 Leetcode 】二分查找和双指针
银河梦想家
leetcode算法
一、二分查找1.1二分查找704这题比较简单,是二分查找的入门题,主要是要注意二分区间的写法,我个人是比较喜欢左闭右闭的写法。代码如下:classSolution{public:intsearch(vector&nums,inttarget){intleft=0,right=nums.size()-1;while(lefttarget)right=mid-1;elseleft=mid+1;}ret
【LeetCode每日一题】 LeetCode 151.反转字符串中的单词
DataCrafter
LeetCode每日一题leetcode算法
LeetCode151.反转字符串中的单词题目描述给你一个字符串s,请你反转字符串中单词的顺序。单词是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的单词分隔开。返回单词顺序颠倒且单词之间用单个空格连接的结果字符串。注意:输入字符串s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。示例1:输入:"theskyis
【LeetCode 刷题】二叉树-广度优先遍历
Bran_Liu
LeetCodeleetcode算法python数据结构
此博客为《代码随想录》二叉树章节的学习笔记,主要内容为二叉树的广度优先遍历相关的题目解析。文章目录102.二叉树的层序遍历107.二叉树的层序遍历II199.二叉树的右视图637.二叉树的层平均值429.N叉树的层序遍历515.在每个树行中找最大值116.填充每个节点的下一个右侧节点指针117.填充每个节点的下一个右侧节点指针II104.二叉树的最大深度111.二叉树的最小深度102.二叉树的层序
LeetCode :134.加油站
xiaoshiguang3
代码随想录-跟着Carl学算法leetcode算法
跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的!代码随想录LeetCode:134.加油站在一条环路上有n个加油站,其中第i个加油站有汽油gas[i]升。你有一辆油箱容量无限的的汽车,从第i个加油站开往第i+1个加油站需要消耗汽油cost[i]升。你从其中的一个加油站出发,开始时油箱为空。给定两个整数数组gas和cost,如果你可以按顺序绕环路行驶一周
链表 7. 环形链表II
zarathustra000
小白的代码随想录刷题笔记Mophead的小白刷题笔记leetcode代码随想录链表
链表7.环形链表II142.环形链表II-力扣(LeetCode)代码随想录难度2-中等放弃分析。直接看代码随想录的解析,比较详细且透彻。要点理解:整体分为两部分。快慢指针追赶,以判定是否有环。快指针和慢指针同时从head出发,快指针一次走两步,慢指针一次走一步。如果有环存在,则两者必然入环;那么入环之后,就必然发生快指针对慢指针的追及;因此两者必然相遇于环内某一结点M。双指针分别从head和相遇
LeetCode--33. 搜索旋转排序数组【直接二分】
Rinai_R
LeetCodeleetcode算法职场和发展笔记学习经验分享golang
LeetCode-33.搜索旋转排序数组前言关于这道题,我最开始想把这个旋转数组还原回去,但是后来发现没有那么麻烦,直接二分即可,重点在于关于当前区间的有序判断,故来写一份题解来分享一下。正文首先我们看看题目要我们干什么,题目大意就是给定一个经过轮转的有序数组和一个target值,要我们找到这个target在数组中的下标,没有则返回-1.既然有序,那么便能和二分扯上关系,但是这个数组经过了轮转,这
leetcode206-反转链表
记得早睡~
算法小课堂链表数据结构leetcode算法
leetcode206思路考虑使用双指针的方式来进行反转,定义一个pre指针,指向需要反转的位置,cur指针代表当前位置,一层层进行反转,中间需要一个临时指针也就是代码中的node,因为一旦反转,之前的链路就断开了,比如cur.next=pre设置以后,原来的cur.next就找不到了,所以需要设置一个临时指针保存原本的cur.next,这样才能继续下一步操作图片来自代码随想录实现varrever
LeetCode hot 热题100 对称二叉树
篮l球场
leetcode算法职场和发展
classSolution{public:boolisSymmetric(TreeNode*root){returncheak(root->left,root->right);}private:boolcheak(TreeNode*left,TreeNode*right){if(left==nullptr&&right==nullptr)returntrue;if(left==nullptr||r
java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
[JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include