草庐IT

LeetCode_day

全部标签

day01-需求分析和系统设计

多用户即时通讯系统011.项目开发流程2.需求分析用户登录拉取在线用户列表无异常退出(包括客户端和服务端)私聊群聊发文件服务器推送新闻/广播3.设计阶段3.1界面设计用户登录:拉取在线用户列表:私聊:群聊:发文件:文件服务器推送新闻:3.2通讯系统整体设计对传输数据的分析:因为在通讯的时候信息的种类和信息比较多,如果使用文本的方式来传递数据,那么服务器拿到信息的时候对其进行拆解会很麻烦。因此使用对象的方式来进行数据的传输(同时使用对象流来传输)对于socket的分析:在客户端连接服务器的过程中,服务器端通过端口监听,通过accept方法返回,得到一个Socket对象。客户端和服务端就是通过So

day01-需求分析和系统设计

多用户即时通讯系统011.项目开发流程2.需求分析用户登录拉取在线用户列表无异常退出(包括客户端和服务端)私聊群聊发文件服务器推送新闻/广播3.设计阶段3.1界面设计用户登录:拉取在线用户列表:私聊:群聊:发文件:文件服务器推送新闻:3.2通讯系统整体设计对传输数据的分析:因为在通讯的时候信息的种类和信息比较多,如果使用文本的方式来传递数据,那么服务器拿到信息的时候对其进行拆解会很麻烦。因此使用对象的方式来进行数据的传输(同时使用对象流来传输)对于socket的分析:在客户端连接服务器的过程中,服务器端通过端口监听,通过accept方法返回,得到一个Socket对象。客户端和服务端就是通过So

day09-功能实现08

家居网购项目实现08以下皆为部分代码,详见https://github.com/liyuelian/furniture_mall.git19.功能18-添加家居到购物车19.1需求分析/图解会员登录后,可以添加家居到购物车完成购物车的设计和实现每添加一个家居,购物车的数量+1并显示19.2思路分析说明:这里实现的购物车是session版的,不是数据库版的。也就是说,用户购物车的数据在退出登录或者退出浏览器后将会清空。如果希望将购物车放到mysql中,将Cart数据模型改成一张表即可,即Entity和表的一种映射概念,你可以使用Entity-DAO-Service。大概做法就是购物车表和Cart

day09-功能实现08

家居网购项目实现08以下皆为部分代码,详见https://github.com/liyuelian/furniture_mall.git19.功能18-添加家居到购物车19.1需求分析/图解会员登录后,可以添加家居到购物车完成购物车的设计和实现每添加一个家居,购物车的数量+1并显示19.2思路分析说明:这里实现的购物车是session版的,不是数据库版的。也就是说,用户购物车的数据在退出登录或者退出浏览器后将会清空。如果希望将购物车放到mysql中,将Cart数据模型改成一张表即可,即Entity和表的一种映射概念,你可以使用Entity-DAO-Service。大概做法就是购物车表和Cart

day07-IO流应用02

Java坦克大战078.IO流应用028.3记录退出游戏时敌人坦克坐标/方向,存盘退出8.3.1思路分析在Recorder类中,增加一个Vector集合,用来接收从MyPanel类中传入的enemyTanks集合,在记录时遍历集合,将还存活的敌人坦克的方向和坐标逐一取出并保存8.3.2代码实现修改处1Recorder类:增加属性enemyTanks、增加方法setEnemyTanks、修改keepRecord方法://定义Vector,指向MyPanel对象的敌人坦克的VectorprivatestaticVectorenemyTanks=null;publicstaticvoidsetEne

day07-IO流应用02

Java坦克大战078.IO流应用028.3记录退出游戏时敌人坦克坐标/方向,存盘退出8.3.1思路分析在Recorder类中,增加一个Vector集合,用来接收从MyPanel类中传入的enemyTanks集合,在记录时遍历集合,将还存活的敌人坦克的方向和坐标逐一取出并保存8.3.2代码实现修改处1Recorder类:增加属性enemyTanks、增加方法setEnemyTanks、修改keepRecord方法://定义Vector,指向MyPanel对象的敌人坦克的VectorprivatestaticVectorenemyTanks=null;publicstaticvoidsetEne

LeetCode 887. 鸡蛋掉落-题解分析

题目来源887.鸡蛋掉落题目详情给你k枚相同的鸡蛋,并可以使用一栋从第1层到第n层共有n层楼的建筑。已知存在楼层f,满足 0,任何从高于f的楼层落下的鸡蛋都会碎,从f楼层或比它低的楼层落下的鸡蛋都不会破。每次操作,你可以取一枚没有碎的鸡蛋并把它从任一楼层x扔下(满足 1)。如果鸡蛋碎了,你就不能再次使用它。如果某枚鸡蛋扔下后没有摔碎,则可以在之后的操作中重复使用这枚鸡蛋。请你计算并返回要确定f确切的值的最小操作次数是多少?示例1:输入:k=1,n=2输出:2解释:鸡蛋从1楼掉落。如果它碎了,肯定能得出f=0。否则,鸡蛋从2楼掉落。如果它碎了,肯定能得出f=1。如果它没碎,那么肯定能得出f=2。

LeetCode 887. 鸡蛋掉落-题解分析

题目来源887.鸡蛋掉落题目详情给你k枚相同的鸡蛋,并可以使用一栋从第1层到第n层共有n层楼的建筑。已知存在楼层f,满足 0,任何从高于f的楼层落下的鸡蛋都会碎,从f楼层或比它低的楼层落下的鸡蛋都不会破。每次操作,你可以取一枚没有碎的鸡蛋并把它从任一楼层x扔下(满足 1)。如果鸡蛋碎了,你就不能再次使用它。如果某枚鸡蛋扔下后没有摔碎,则可以在之后的操作中重复使用这枚鸡蛋。请你计算并返回要确定f确切的值的最小操作次数是多少?示例1:输入:k=1,n=2输出:2解释:鸡蛋从1楼掉落。如果它碎了,肯定能得出f=0。否则,鸡蛋从2楼掉落。如果它碎了,肯定能得出f=1。如果它没碎,那么肯定能得出f=2。

day37-IO流04

JavaIO流044.常用的类034.4节点流和处理流024.4.5对象处理流-ObjectInputStream和ObjectOutputStream1.序列化和反序列化例子1:看一个需求将intnum=100这个int类型的数据保存到文件中,注意不是100数字,而是int100,并且能够从文件中直接恢复int100将Dogdog=newDog("小黄",3)这个Dog对象保存到文件中,并且能够从文件恢复。上面的要求,就是能够将基本数据类型或者对象进行序列化和反序列化操作序列化和反序列化序列化就是在保存数据时,保存数据的值和数据类型反序列化就是在恢复数据时,恢复数据的值和数据类型需要让某个对

day37-IO流04

JavaIO流044.常用的类034.4节点流和处理流024.4.5对象处理流-ObjectInputStream和ObjectOutputStream1.序列化和反序列化例子1:看一个需求将intnum=100这个int类型的数据保存到文件中,注意不是100数字,而是int100,并且能够从文件中直接恢复int100将Dogdog=newDog("小黄",3)这个Dog对象保存到文件中,并且能够从文件恢复。上面的要求,就是能够将基本数据类型或者对象进行序列化和反序列化操作序列化和反序列化序列化就是在保存数据时,保存数据的值和数据类型反序列化就是在恢复数据时,恢复数据的值和数据类型需要让某个对