ARTS打卡计划第一周-Algorithm】的更多相关文章

7. Reverse Integer import math class Solution: def reverse(self, x: int) -> int: ret = 0 if x >=0: x_str = str(x) ret = int(x_str[::-1]) else: x =abs(x) x_str=str(x) ret = -1*int(x_str[::-1]) if ret>=math.pow(2,31)-1 or ret<=-1*math.pow(2,31):…
665. 非递减数列  https://leetcode-cn.com/problems/non-decreasing-array/ 给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元素的情况下,该数组能否变成一个非递减数列. 我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 <= i < n),满足 array[i] <= array[i + 1]. class Solution { public boolean checkPossibility(int[]…
在软件开发的过程,经常有一些类型的字段信息:性别.学历.职级.车辆类别.公司类型.结算类型等.这些字段有2个特征:1是字段可选的类型是有限,2是字段可能会变化,我们把这种字段描述为字段字段.  本篇文章重点总结系统字典模块的设计,根据我的工作经验,我对字典模块的设计认知包含如下几个阶段: 一.硬编码到页面 这个阶段,一般是把可以枚举的option写在html,或者通过后台模板硬编码到html中.这种方式的实现优点在于实现简单,也没有依靠数据库.但是缺点也是很明显,如果这些字段发生了变化,需要去改…
通常在开发具体项目过程中我们可能会面临如下问题: 统一所有的json返回结果 统一处理所有controller中的异常,并且给不同异常不同的返回状态值 统一对返回的接口做数据校验或者加密,防止篡改 在spring中的处理方式是使用@RestControllerAdvice注解.下面是一个例子,可以将所有的controller中的返回结果,包装成一个CommonResponse. @RestControllerAdvice public class CommonResponseDataAdvice…
本周分享的文章来自于medium的 Testing Best Practices for Java + Spring Apps 这个文章主要讲的是java测试的一些最佳实践 1.避免函数返回void,返回void不利于写单元测试,因为返回void不知道方法执行的内部情况 2.使用有意义的 assertions,可以使用  https://google.github.io/truth/ 类库 3.记得测试异常 4.可以使用变量进行多次测试 5.使用Mockito进行mock测试…
Algorithms: https://leetcode-cn.com/problems/two-sum/ Review: https://www.infoq.cn/article/EafgGJEtqQTAa_0sP62N Q版本,慢慢雏形已经出来. Tips: c++11 : 1.nullptr   是一种特殊类型的字面值, null 指针常量,可以转换成任意其他指针类型,是一个关键字.之前的NULL是一个预处理变量,需要单独引入头文件cstdlib,其值也是0. #ifdef __cplus…
本周review的文章是:https://medium.com/@hakibenita/optimizing-django-admin-paginator-53c4eb6bfca3 改篇文章的题目是:Optimizing Django Admin Paginator,How we finally made Django admin fast for large tables. django分页的时候,大部分时间都会消耗在求count上,本篇文章提到了几点用于提升大表分页的方法: 1.重写默认的分…
Algorithms: https://leetcode-cn.com/problems/3sum/ 算法是先排序,然后按照两个数和两边逼中,考虑去重. Review: https://www.infoq.cn/article/D0o4wE24f_fCFKJPZIaS Fuchsia版本,慢慢雏形已经出来刚看了Q版本计划,搞事情? Tips: c++11 : 1.auto 类型新引入.解决了赋值时知道变量的类型问题(比如模板类定义实现里可能不知道具体是什么类型).编译器完成分析表达式所属的类型.…
现在有这样一种常见,系统中有一个接口,该接口执行的方法忽快忽慢,因此你需要去统计改方法的执行时间.刚开始你的代码可能如下: long start = System.currentTimeMillis(); somemethod(); long end = System.currentTimeMillis(); System.out.println(end-start); 这个方式能够打印方法执行的时间,可是疑问来了,如果系统中很多方法都需要计算时间,都需要重复这样的代码?这个时候,你可以考虑注解…
最近发现一个挺不错的框架mysql-binlog-connector-java,可以实时监控binlog的变化. 首先检查mysql的binlog是否开启,在开启的情况下: 引入依赖 <dependency> <groupId>com.github.shyiko</groupId> <artifactId>mysql-binlog-connector-java</artifactId> <version>0.18.1</vers…