Ggcoder level
获赞
51
粉丝
7
关注
5
看过 TA
495
门头沟学院
2024
Java
IP属地:广东
暂未填写个人简介
私信
关注
2021-04-13 15:00
已编辑
门头沟学院 Java
楼主是初面腾讯,面试官应该是做安卓开发的,效率很高,昨天晚上面今早挂。 科班+有两个java相关项目,没问项目 1.自我介绍 2.有没有做过安卓项目?(无) java: 3.java为什么能跨平台 4.jvm有什么特性 5.说说jvm的JIT和AOT的区别 6.说说反射 7.静态代理和动态代理 8.cglib的invokeSuper和JDK的invoke的区别 9.cglib中拦截器的子类是怎么获得的(说的不够好——) 10.动态代理的应用场景(答Spring的AOP,但是面试官要更具体的业务场景) ...
左程云:// 测试链接 : https://leetcode.com/problems/target-sum/ // 优化点一 : // 你可以认为arr中都是非负数 // 因为即便是arr中有负数,比如[3,-4,2] // 因为你能在每个数前面用+或者-号 // 所以[3,-4,2]其实和[3,4,2]达成一样的效果 // 那么我们就全把arr变成非负数,不会影响结果的 // 优化点二 : // 如果arr都是非负数,并且所有数的累加和是sum // 那么如果target<sum,很明显没有任何方法可以达到target,可以直接返回0 // 优化点三 : // arr内部的数组,不管怎么+和-,最终的结果都一定不会改变奇偶性 // 所以,如果所有数的累加和是sum, // 并且与target的奇偶性不一样,没有任何方法可以达到target,可以直接返回0 // 优化点四 : // 比如说给定一个数组, arr = [1, 2, 3, 4, 5] 并且 target = 3 // 其中一个方案是 : +1 -2 +3 -4 +5 = 3 // 该方案中取了正的集合为P = {1,3,5} // 该方案中取了负的集合为N = {2,4} // 所以任何一种方案,都一定有 sum(P) - sum(N) = target // 现在我们来处理一下这个等式,把左右两边都加上sum(P) + sum(N),那么就会变成如下: // sum(P) - sum(N) + sum(P) + sum(N) = target + sum(P) + sum(N) // 2 * sum(P) = target + 数组所有数的累加和 // sum(P) = (target + 数组所有数的累加和) / 2 // 也就是说,任何一个集合,只要累加和是(target + 数组所有数的累加和) / 2 // 那么就一定对应一种target的方式 // 也就是说,比如非负数组arr,target = 7, 而所有数累加和是11 // 求有多少方法组成7,其实就是求有多少种达到累加和(7+11)/2=9的方法 // 优化点五 : // 二维动态规划的空间压缩技巧
投递腾讯等公司10个岗位 >
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务