- 博客(82)
- 收藏
- 关注
原创 剑指 Offer 59 - II. 队列的最大值
请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value需要返回 -1示例 1:输入:["MaxQueue","push_back","push_back","max_value","pop_front","max_value"][[],[1],[2],[],[],[]]输出:[null,null,null,2,1,2]...
2021-04-05 22:35:37
143
1
原创 面试题59 - I. 滑动窗口的最大值
给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释: 滑动窗口的位置 最大值--------------- -----[1 3 -1] -3 5 3 6 7 31 [3 -1 -3] 5 3 6 7 31 3 [-1 -3...
2021-04-05 22:31:31
141
1
原创 739. 每日温度
请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用0 来代替。例如,给定一个列表temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是[1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是[1, 30000]。每个气温的值的均为华氏度,都是在[30, 100]范围内的整数。解题思路:1、暴力解法依次遍历找到...
2021-03-28 22:10:14
156
原创 面试题 16.26. 计算器
给定一个包含正整数、加(+)、减(-)、乘(*)、除(/)的算数表达式(括号除外),计算其结果。表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格。 整数除法仅保留整数部分。示例1:输入: "3+2*2"输出: 7示例 2:输入: " 3/2 "输出: 1示例 3:输入: " 3+5 / 2 "输出: 5说明:你可以假设所给定的表达式都是有效的。请不要使用内置的库函数 eval。题目来源:力扣(LeetCode)链接:https://leet...
2021-03-28 21:53:48
180
原创 206. 反转链表
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?1、多画图理解会容易点。这个迭代法更简单些容易想。但是递归的更好理解,易读性略胜一筹。2、递归,时间复杂度 O(n), 空间复杂度O(n)迭代,时间复杂度 O(n), 空间复杂度O(1)package com.data;public cla
2021-03-17 17:42:37
71
原创 两数相加
给你两个非空 的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9...
2021-03-17 17:33:01
101
1
原创 算法题-1528. 重新排列字符串
leetcode:https://leetcode-cn.com/problems/shuffle-string/给你一个字符串 s 和一个 长度相同 的整数数组 indices 。请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。返回重新排列后的字符串。示例 1:输入:s = "codeleet", indices = [4,5,6,7,0,2,1,3]输出:"leetcode"解释:如图所示,"codeleet" 重新排列后变为 "..
2021-03-10 18:55:08
447
原创 算法题-URL化
本题节选自leecode: 01.03. URL化:https://leetcode-cn.com/problems/string-to-url-lcci/URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)示例 1:输入:"Mr John Smith ", 13输出:"Mr%20John%20Smith"示例 2:输入:" ...
2021-03-09 20:10:12
230
3
原创 线上Mysql的CancelTask引起的内存泄漏
CancalTask是 mysql 的一个定时任务,继承自TimerTask,主要用于查询超时处理。系统在执行一个 sql 查询时,jdbc会给你一个超时时间。为了保证超时时间后,能够关闭 statement。今天在做数据迁移时发现log里有这个异常,于是看了下源码感觉开源架包不会有这么低级的空指针问题吧,怀疑是jar包版本的问题,于是看了下现在的mysql版本。<dep...
2019-05-09 17:07:55
611
转载 socket vs RMI
一般来说,基于CS(client-server)软件架构的开发技术有很多种。比较常用的有:基于socket的网络编程、RPC、基于Java技术的RMI(当然C#也有类似技术)、CORBA等。在这里我们只是对基于socket的网络编程与RMI作个对比,有助于我们了解它们各自的应用领域,帮助我们在面对一个具体问题的时候选用适合的技术。另外,本文所做的讨论可以认为是脱离了语言层面的东西,只是对技术的本身
2015-07-05 00:44:57
548
转载 Java RMI 服务器框架
Java RMI 服务器框架使用异步进程管理器来包含 RMI 服务器应用程序Java 平台的设计师所设计的远程方法调用(Remote Method Invocation)运行时是个伟大的作品 ― 但它并不打算作为成熟的应用程序服务器。通过从应用程序处理分离 RMI 连接活动,您将可以省去大量的开发的辛苦和压力。本文中,高级 Java 开发者 Edward Harne
2015-07-05 00:38:51
1333
转载 Java RMI协议开发
Java RMI协议开发在Java的开发中,Web端只是以个较小的亮点,抛开HTTP协议,Java世界里还有很多比较牛×的技术,但做为J2EE的核心技术,RMI协议就显得由为重要,RMI对搞过EJB的人来说应该不陌生,但EJB是在RMI和CORBA的基础之上进行了封装(也就是RMI//IIOP),程序员往往不用接触底层.做为Java工程师,对J2EE最核心的技术-----EJB的心脏 RM
2015-07-05 00:34:36
800
转载 Java RMI 入门指南
RMI 相关知识RMI全称是Remote Method Invocation-远程方法调用,Java RMI在JDK1.1中实现的,其威力就体现在它强大的开发分布式网络应用的能力上,是纯Java的网络分布式应用系统的核心解决方案之一。其实它可以被看作是RPC的Java版本。但是传统RPC并不能很好地应用于分布式对象系统。而Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信,
2015-07-05 00:27:55
770
转载 Java RMI之HelloWorld篇
Java RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。可以用此方法调用的任何对象必须实现该远程接口。 Java RMI不是什么新技术(在Java1.1的时代都有了),但却是是非常重要的底层技术。大名鼎鼎的EJB都是建立在rmi基础之上的,现
2015-07-05 00:20:14
520
原创 Scanner遇上UnmappableCharacterException
上周末的时候,朋友约好去KTV,鉴于我这种不怎么听歌的孩子伤不起啊,灵机一动就把我的酷狗歌单导出来了,XML文件嘛,内容太多,我只想要歌名足已。于是写了一个java去输出歌名。 岂料我受到了挫伤,scanner.hasNextLine()一直为false,于是我百思不得姐啊,经过调试发现,Scanner内部有java.nio.charset.UnmappableCharacterExce
2014-07-21 23:41:48
1368
转载 使用NameCtrl为网页集成Office Communicator状态信息
NameCtrl是Office自带的一个ActiveX控件,它存在于C:\Program Files\Microsoft Office\Office12\NAME.DLL中。利用它可以显示Office Communicator的状态图标,并且图标包含了菜单,通过菜单可以进行聊天,发送邮件等操作。关于NameCtrl的细节请访问http://msdn.microsoft.com/en-us/li
2014-06-12 22:28:42
1073
转载 Web系统集成OCS在线状态功能
Web系统集成OCS在线状态功能 最近有个朋友问我,说他们公司开始上OCS2007,希望它能与应用系统进行集成。在winForms 上的集成,已经实现得差不多了,但是与web 系统的集成,还不知道如何进行,他们的集成要求是:用户进到每一个系统,都希望能看到用户的在线状态,并且可以与他方便地进行即时通讯。 在这里就写一下怎样使Web系统中集成OCS在线状态功能。其实这个功能早
2014-06-12 22:25:50
1153
原创 数据库之索引
索引目的:提高查询效率。自动创建索引:创建表时候的主键(primary key)和唯一(unique)约束会自动创建索引。创建索引create index s_emp_last_name_idxon s_emp(last_name);什么时候创建索引? 1)这个列经常被查询或者做where条件 2)这个列的数据量大而且not null 3)查询出来的记录小
2014-04-15 22:30:53
638
转载 MySQL引擎
MySQL数 据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用MySQL++ API自己做一个引擎。下面介绍几种数据库引擎: ISAM:ISAM是一个定义明确且历经时间考验的数
2014-03-26 23:14:00
529
转载 Java 向上转型和向下转型
java 转型问题其实并不复杂,只要记住一句话:父类引用指向子类对象。什么叫父类引用指向子类对象,且听我慢慢道来.从2个名词开始说起:向上转型(upcasting) 、向下转型(downcasting).举个例子:有2个类,Father是父类,Son类继承自Father。Father f1 = new Son(); // 这就叫 upcasting (向上转型)
2014-03-23 21:01:25
590
转载 浅谈Java线程安全
Servlet体系结构是建立在Java多线程机制之上的,它的生命周期是由Web容器负责的。当客户端第一次请求某个Servlet时,Servlet容器将会根据web.xml配置文件实例化这个Servlet类。当有新的客户端请求该Servlet时,一般不会再实例化该Servlet类,也就是有多个线程在使用这个实例。这样的话,当两个或多个线程同时访问同一个Servlet时,可能会发生多个线程同时
2014-03-23 16:26:21
519
转载 深入Java Function: Class.forName()
Class.forName(xxx.xx.xx) 返回一个类首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new 不一样,要分清楚)。至于什么时候用,可以考虑一下这个问题,给出一个字符串变量,它代表一个类的包名和类名,怎么实例化它?只有提到的这个方法了,不过要再加一点。A a = (A)Class.forName("pacage.A").n
2014-03-13 23:32:35
573
转载 Java IO流与对象IO序列化
什么是IO流? byte序列的读写,Java中的IO流是实现输入/输出的基础.Java将数据从源(文件、内存、键盘、网络)读入到内存 中,形成了流,然后将这些流还可以写到另外的目的地(文件、内存、控制台、网络),之所以称为流,是因为这个数据序列在不同时刻所操作的是源的不同部分。2、分类按照不同的分类标准,IO流分为不同类型。主要有以下几种方式:按照数据流方向、数据处理的单位和功
2014-03-11 23:19:20
758
转载 java 字节流与字符流的区别
字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示。下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流。范例:使用字节流不关闭执行Java代码
2014-03-11 23:03:08
528
原创 单态模式 ---故事重弹
这阵子准备那啥了,再看看基础知识。先上懒汉模式和饿汉模式:1. 懒汉模式:Class Singleton{private static Singleton s;private Singleton(){}public static Singleton getInstance(){if(s==null) s=new Singleton();
2014-03-08 23:35:57
647
转载 Java线程是否会被垃圾回收
如果将线程启动后,然后线程变量置空,线程会怎么样? import java.lang.ref.WeakReference; public class TestThread { public static void testUnreferencedThread() { // anonymous class extends Thread
2014-01-21 22:18:28
6139
转载 Servlet生命周期与工作原理
Servlet生命周期分为三个阶段: 1,初始化阶段 调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法Servlet初始化阶段: 在下列时刻Servlet容器装载Servlet: 1,Servlet容器启动时自动装载某些Servlet,实现它只需要在web.XML文件中的之间添加如下代码:
2013-11-26 23:45:04
571
原创 网站sickipedia 笑话抓取程序
应宿舍一哥们邀请,写了一个简单的网站笑话抓取程序,不用看一个笑话就重刷整个网页了。发现有时用浏览器打不开网站,网速卡的时候,但是用程序还是可以拿得到,貌似java很牛叉!简单写了一下,没有考虑太多,别捡砖头啊! package com.alec;import java.io.BufferedReader;import java.io.InputStreamReader;
2013-08-20 23:11:24
1442
原创 自控力 笔记10 结语 完结篇
最后一点了,依旧手抄。我们从塞伦盖蒂大草原开始了我们的旅程。那时我们正在被一只剑齿虎穷追不舍。现在当你翻到这本书的最后一页时,我们的旅程即将结束。这一路走来,我们看到了自控力惊人的黑猩猩,也看到了很多丧失自控力的人类。我们走访了很多实验室,看到了节食者如何拒绝巧克力蛋糕,饱受焦虑折磨的人如何面对恐惧。我们看到了神经科学家发现奖励的承诺,也看到了神经营销学家是如何从中获利的。我们看到了各种各
2013-07-27 21:10:44
1300
原创 自控力 笔记9 别读这章:我不要力量的局限性
你是都想忘记东西?如果是,请检验一下讽刺性反弹理论,压抑有用吗?试图忘记某些东西是否让它回来时变得更强烈?正如本章标题,看过只会,你恐怕决定去读一读了。O(∩_∩)O~1.意志力实验:忠于你的感受,但别相信你所有的想法遇到烦恼的时候关注自己的想法,它们都不是你需要相信的重要信息,接下来把注意力转移到呼吸上。感受一下你是怎么吸气,呼气的。有时候,这些烦心的想法和感觉会随着呼吸自然
2013-07-27 18:33:57
1471
原创 自控力 笔记8 传染:为什么意志力会感染
1. 深入剖析:你的社交不是每个意志力挑战都是社会传染的结果,但大多数挑战都存在社会传染的问题。针对你自己的意志力挑战,请考虑以下问题:在你的社交圈中,有没有其他人和你一样的意志力挑战?回想一下,你有没有从朋友或家人身上学到过某种习惯?和某些人在一起的时候,你会不会更容易放纵自己?在你的社交圈中,最近有没有其他人也在尝试应对这个意志力问题?2.深入剖析:你在模仿谁这
2013-07-27 17:18:49
1390
原创 自控力 笔记7 出售未来:及时享乐的经济学
深入剖析:你给未来的奖励打了几折?对你的意志力挑战老说,当你屈服于诱惑或拖延的时候,你是把哪些未来的奖励出售了?放弃抗争的即时回报是什么?长期的代价是什么?这是公平交易吗?如果理性的你说不,那是个叫人讨厌的买卖,那么请你试着去捕捉自己改变选择的时刻。是什么想法和感觉让你出售了未来? 我们需要在所有的诱惑面前安排10分钟的等待时间,如果10分钟后你仍旧想要,你就可以拥有它。但在10分钟之内
2013-07-24 23:57:16
1408
原创 自控力 笔记6 那又如何:情绪低落为何会使人屈服诱惑
当你情绪低落的时候,你会怎么让自己高兴起来呢?如果你和大多数人一样,你就会寻找奖励的承诺。缓解压力最常见的方法就是那些能激活大脑奖励系统的方法-吃东西、喝酒、购物、看电视、上网和玩游戏。但通常我们缓解压力的办法反而会让我们更有压力。最常见的缓解压力的方法恰恰是使用折觉得最没有效果的。美国心理学家协会调查发现,最有效的解压方法包括:锻炼或参加体育活动,祈祷或参加宗教活动,阅读,听音乐,与家人
2013-07-23 00:02:20
1527
2
原创 自控力 笔记5 大脑的弥天大谎:为什么我们误把渴望当幸福
1.你知道什麽会刺激你的多巴胺分泌?食物?酒精?购物?网购?色情网站?还是其他东西?这一周,试着观察是什么吸引了你的注意力。是什么给了你奖励的承诺,强迫你去寻求满足感?2.零售商和营销人员究竟是如何刺激奖励承诺的。把逛商店或看广告当做一场游戏,你闻到了什么?看到了什麽?听到了什么?当你知道这些暗示都是经过精心设计,专门要诱惑你上钩的时候,你就能看清他们到底是什么,也就能成功抵御他们了。
2013-07-20 23:25:14
1123
原创 自控力 笔记4 容忍罪恶:为何善行之后会有恶行
当我们将意志力挑战看成是衡量道德水平的标准时,善行就会允许我们做坏事。为了能更好的自控。我们需要忘掉美德,关注目标和价值观。 其实,明天和今天毫无区别。当你想改变行为的时候,试着减少行为的变化性,而不是减少某种行为。 取消许可,牢记理由。下一回,当你发现自己在用曾经的善行为放纵辩护的时候,停下来想一想你做好事的原因,而不是你应不应该得到奖励。
2013-07-18 22:30:45
1010
原创 自控力 笔记3 累到无力抵抗:为什么自控力和肌肉一样有极限
意志力的肌肉模式告诉我们,自控力从早上到晚上会逐渐减弱。自控消耗了身体的能量,而能量的消耗又消弱了意志力。自控时大脑每分钟需要的能量不会超过跑酷运动所需能量的一半,自控可能比大脑处理其他问题时所用的能量多,但远远低于身体运动时所需要的能量。意志力实验:锻炼意志力如果你想有一套属于自己的意志力训练方法,不妨试一试下面几个自控力肌肉的锻炼模式。 1. 增强我
2013-07-17 23:00:33
1041
原创 自控力 笔记2 意志力的本能:人生来就能抵制奶酪蛋糕的诱惑
1.意志力是种生理本能,它和压力一样,通过不断进化来保护我们不受伤害。2.意志力实验a. 呼吸出你的自控力。把你的呼吸降到每分钟4-6次,将身体调整到适合自控的生理状态。b. 5分钟给意志力加油。出门活动,哪怕只是在周围转转,也能减少压力,改善心情,提供动力。c. 睡眠。打盹或补觉可以消除睡眠不足的影响。d. 放松能让你恢复意志力储备。躺下,深呼吸,帮你从自控和压力造成的疲
2013-07-16 23:20:02
1164
原创 自控力 笔记1 我要做,我不要,我想要
最近在看自控力这本书, 是一位美国的美女 凯利~麦格尼格尔 写的,被誉为斯坦福大学最受欢迎心理学课程。本书目标:只需十周成功掌控自己的时间和生活。第六感说貌似还不错,我就开读啦,今天读完第一章,笔记如下。 意志力实验是精华!尽可一试!1. 回忆一下你的决定,在做之前有所意识,停下来要做的不应该做的事。2. 如果成年人坚持每天玩25分钟记忆力游戏,大脑里控制注
2013-07-15 23:03:57
1721
转载 真正优秀的程序员有哪些与众不同之处?
“当你50岁时,还愿意编程吗?”这个话题在Hacker News上众说纷纭,不过我们能够看到,那些真正成功的程序员,如John Carmack、Peter Norvig、Jeff Dean,即使他们不再年轻,但依然对编程充满热情,他们身上有哪些与众不同之处,又有哪些值得我们学习?有人进行了总结。1. 选择当前科技领域的一个小子集,亲近它、拥抱它,并且尝试推进这个小领域的发展。2. 理解
2012-11-20 22:36:57
480
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人