
2020-2021实习
实习工作遇到的技术难题和解决
南清北风呀
学到老,活到老。
展开
-
用两个栈实现队列
题目描诉:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。问题分析:先来回顾一下栈和队列的基本特点: 栈:后进先出(LIFO) 队列: 先进先出 很明显我们需要根据JDK给我们提供的栈的一些基本方法来实现。既然题目给了我们两个栈,我们可以这样考虑当push的时候将元素push进stack1,pop的时候我们先把stack1的元素pop到stack2,然后再对stack2执行pop操作,这样就可以保证是先进先出的。(负[pop]负[pop]得正[先进先出])考察内原创 2021-04-19 17:18:55 · 151 阅读 · 0 评论 -
合并两个排序的链表
题目描诉输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。问题分析:我们可以这样分析:假设我们有两个链表 A,B;A的头节点A1的值与B的头结点B1的值比较,假设A1小,则A1为头节点;A2再和B1比较,假设B1小,则,A1指向B1;A2再和B2比较。。。。。。。 就这样循环往复就行了,应该还算好理解。示例代码非递归版本/*public class ListNode { int val; ListNode next = null原创 2021-04-19 16:51:11 · 116 阅读 · 0 评论 -
调整数组顺序使奇数位于偶数前面
题目描诉:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。问题解析:这道题有挺多种解法的,给大家介绍一种我觉得挺好理解的方法: 我们首先统计奇数的个数假设为n,然后新建一个等长数组,然后通过循环判断原数组中的元素为偶数还是奇数。如果是则从数组下标0的元素开始,把该奇数添加到新数组;如果是偶数则从数组下标为n的元素开始把该偶数添加到新数组中。示例代码: public vo原创 2021-04-19 16:23:27 · 129 阅读 · 0 评论 -
二维数组查找
1.题目描诉在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。问题解析:一种很好理解的思路,矩阵是有序的,从左下角来看,向上数字递减,向右数字递增, 因此从左下角开始查找,当要查找数字比左下角数字大时。右移 要查找数字比左下角数字小时,上移。这样找的速度最快。示例代码 public boolean Find(int target, int [][] array) {原创 2021-04-19 16:05:28 · 106 阅读 · 0 评论 -
java解析Excel文件,接口导入Excel文件,解析
接口参数@PostMapping(value = Hplus.platform.trade.batch_post_sale, consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public Mono<HplusResponse<BatchPostSaleByPosSaleNoResultBo>> batchPostSaleByPostSaleNoList(@RequestPart(name = "file") FilePart原创 2021-04-15 10:03:57 · 683 阅读 · 0 评论 -
响应式编程中排序问题
@Override public Flux<ExpressPostDto> findExpressPostOrder(String keyword, Pageable pageable) { return reactiveMongoTemplate.aggregate( Aggregation.newAggregation( Aggregation.match(criteriaExpress.原创 2021-02-19 11:26:57 · 312 阅读 · 0 评论 -
mongoDB中按照某一字段搜索,该字段可能为空问题处理
1.医院列表按照特殊库存字段搜索,但是数据库中有些医院数据特殊库存字段为空,导致测试人员在测试的时候,存在特殊库存和不存在特殊库存的数据总和不等于医院总数据。 Query countQuery = new Query(); if (Objects.nonNull(commonBo.getIsSpecialStock()) && commonBo.getIsSpecialStock()) { countQuery.addCriteria(Criter原创 2020-12-23 11:37:22 · 1910 阅读 · 0 评论 -
响应式中如何对操作后的数据流里面的数据进行排序
flatmap操作符和conatmap操作符的区别1.concatMap类似for循环一样遍历处理元素,一个元素处理慢了,后面元素就得等着前面处理完,而flatMap则是并行处理,返回的元素是无序的,谁先处理完谁排放出去。2.问题查一次团检下的所有医院,再查每家医院下存在的套餐,最后返回一个 ComgcHostitalAndSetMealDtoComgcHostitalAndSetMealDto类@Datapublic class ComgcHostitalAndSetMealDto {原创 2020-12-03 18:44:07 · 299 阅读 · 0 评论 -
mongodb中的聚合管道查询
1.mongo的聚合管道查询,也就是连表查询,在下面的例子中没有用mongodb的语句查询,使用了封装的类。 public Flux<PostSaleHspAggregateBo> getPostSaleWaitCompletedList(PostSaleSearch search, Pageable pageable) { Criteria criteria1 = new Criteria(); String noGroup = "未分组";原创 2020-10-21 14:28:19 · 800 阅读 · 0 评论 -
响应式编程项目中总结
响应式编程项目中新手总结1.业务描述将excel表中的数据导入,判断excel表中的医院是否存在和是否已经被关联,如果不存在或者已经被关联,收集起来返回。2.主要业务代码2.1关联医院的方法 /*** * 关联医院的时候 更新医院的分组字段 更新分组的更新时间 * @param hospitalCode 医院编码 * @param groupName 分组名称 * @param reactiveMongoOperations * @return原创 2020-08-27 17:12:31 · 438 阅读 · 0 评论