摘要:
持续更新中 阅读全文
摘要:
本人的工程实践项目是设计一个类似12306的网上售票系统,本文将分析该项目的同时对软件架构进行初步设计。 项目简介 题目基本要求 参考12306站点进行售票系统建模设计,尽可能接近覆盖真实线上系统,实现的功能有但不限于: 用户信息注册 查询余票: 根据时间,车次,站点区间,座次(一等座,二等座,硬卧 阅读全文
摘要:
序言 本次工程实践的题目是设计一个类似12306的售票系统,运用高软课上所学,对改题目进行分析 需求分析 用户需求分析: 用户可以注册账号并登录12306客户端软件; 用户可以查看自己的相关信息,包括待出行订单、历史订单等; 用户还可以查看自己未支付的订单,和正在抢票的订单; 用户可以通过多种条件进 阅读全文
摘要:
前言 首先感谢孟宁老师的教学指导,通过课上的学习,我了解到了许多软件工程的设计思想。 孟老师通过一个简单的menu小程序,直观细致地给我们讲解了代码规范、模块化设计、可重用接口以及线程安全等问题,我从中学到了很多。 本文中用到的menu程序源码: https://github.com/mengnin 阅读全文
摘要:
场景一:Git本地库的基本用法 初始化本地版本库 方式一:在vscode中使用打开工作区文件夹,然后用快捷键打开源码管理(⇧ ⌃ G ) 方式二:使用git init指令 查看当前workspace的状态 方式一:vscode的源码管理器中查看,绿色的U表示该文件未被版本库跟踪,即未添加到暂存区中, 阅读全文
摘要:
128. 最长连续序列 用哈希表记录当前数为端点时的最大区间长度 遍历数组,如果当前数在哈希表中出现过,则跳过 如果当前数未出现,则取相邻的两数在哈希表中的值,left 和 right,当前数所在的区间长度为left + right +1,然后将该值填入端点处。 class Solution { p 阅读全文
摘要:
217. 存在重复元素 Java class Solution { public boolean containsDuplicate(int[] nums) { Set<Integer> s = new HashSet<>(); for(int i = 0 ; i<nums.length ; i++ 阅读全文
摘要:
1. 两数之和 本题可以有两种方法,一种先排序,再用双指针法找到两数。另一种利用哈希表存储值对应的下标,如果在表中找到target-nums[i]对应的值,则直接输出 Java class Solution { public int[] twoSum(int[] nums, int target) 阅读全文
摘要:
503. 下一个更大元素 II 本题同739,循环数组只需要遍历两次即可,特别注意,在进栈的时候,要判断下标是否在范围内! Java class Solution { public int[] nextGreaterElements(int[] nums) { Stack<Integer> st = 阅读全文
摘要:
739. 每日温度 该问题本质上是找下一个比当前数更大的数的下标,最后所求的数组记录的即为下标差。一开始做这题的时候,我一直关注着具体数值,导致一直不知道从哪入手。 方法一: 用栈记录下标,如果当前数<栈顶数,入栈,当前数>栈顶数,出栈,出栈的数与当前数的下标差即为出栈数的res值 Java cla 阅读全文
摘要:
20. 有效的括号 思路:用一个栈记录右括号,遍历整个字符串,每遇到一个左括号,便将其对应的右括号压入栈中,可知内层的括号在栈顶,如果遇到右括号,分为两种情况,其一,栈内无元素,说明该右括号无落单,其二,弹出的栈顶元素与该右括号不同,说明该右括号匹配失败,两种情况都为false。最后,如果栈中仍然有 阅读全文