2月8日-备孕春招40天-第27天
①leetcode
复习:101-110
回溯+dp 回文子串
https://leetcode-cn.com/problems/palindrome-partitioning/solution/hui-su-dpyou-hua-by-19216801-j46l/
回文串2(两个dp)
https://leetcode-cn.com/problems/palindrome-partitioning-ii/submissions/
复制图
https://leetcode-cn.com/problems/clone-graph/submissions/
负数油表
最近发现只要是字符串相关的问题就头皮发麻,只要是数组相关的问题就很快能做出来。。。
拿到问题我喜欢先分析已有的信息(也就是传入的参数) 这里gas和cost每一个位置都是对应的,并且实际意义上我们只需要知道二者的差值即可: 举个例子,在第i段路,给你2升汽油开车消耗1升汽油,是等价于给你100升汽油开车消耗99升汽油的。 这种情况,如果我们在把gas和cost看作两个数组会形成不必要的麻烦。
题目给了两种状态,首先是汽车起始汽油为0,然后行驶过程中汽车汽油必须足够行驶路程(也就是油表必须为正)。
我们假设油表可以为负值 这样如果存在题目中所说的唯一答案,那么当我们从0行驶到N后,油表为非负。如果油表为负值就返回-1; 那么我们怎么找从哪里开始出发呐? 答案就是当我们油表值最小时,从这个点出发,我们的油表初始状态为0,之后也不会低于这个0,因为这个0其实就是油表最小值了。 时间复杂度 :O(N)
如图:
https://leetcode-cn.com/problems/gas-station/solution/jia-you-zhan-by-19216801-rt1i/
分糖果
https://leetcode-cn.com/problems/candy/submissions/
②spring
P122-P127
singleton : 唯一 bean 实例,Spring 中的 bean 默认都是单例的。 prototype : 每次请求都会创建一个新的 bean 实例。如跟请求状态有关的对象,就不能使用单例,需要使用多例保证线程安全。 之所以用多例,是为了防止并发问题;即一个请求改变了对象的状态,此时对象又处理另一个请求,而之前请求对对象状态的改变导致了对象对另一个请求做了错误的处理; 使用@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE,proxyMode = ScopedProxyMode.TARGET_CLASS)。ScopedProxyMode.TARGET_CLASS是字节码级别多例,设置多例的代理模式使用一次就会产生一个运行时字节新对象
request : 每一次HTTP请求都会产生一个新的bean,该bean仅在当前HTTP request内有效。 session : 每一次HTTP请求都会产生一个新的 bean,该bean仅在当前 HTTP session 内有效。 global-session: 全局session作用域,仅仅在基于portlet的web应用中才有意义,Spring5已经没有了。Portlet是能够生成语义代码(例如:HTML)片段的小型Java Web插件。它们基于portlet容器,可以像servlet一样处理HTTP请求。但是,与 servlet 不同,每个 portlet 都有不同的会话