return null;
if (t1 == null)
return t2;
if (t2 == null)
return t1;
t1.val = t1.val + t2.val;
t1.left = mergeTrees(t1.left, t2.left);
t1.right = mergeTrees(t1.right, t2.right);
return t1;
}
}
620. Not Boring Movies
Runtime: 124 ms, faster than 74.64% of MySQL online submissions for Not Boring Movies.
Memory Usage: N/A
Write your MySQL query statement below
select * from cinema where id%2=1 and description != ‘boring’ order by rating desc;
627. Swap Salary
[Description]
SQL Schema
Given a table salary, such as the one below, that has m=male and f=female values. Swap all f and m values (i.e., change all f values to m and vice versa) with a single update statement and no intermediate temp table.
Note that you must write a single update statement, DO NOT write any select statement for this problem.
Example:
| id | name | sex | salary |
| — | — | — | — |
| 1 | A | m | 2500 |
| 2 | B | f | 1500 |
| 3 | C | m | 5500 |
| 4 | D | f | 500 |
After running your update statement, the above salary table should have the following rows:
| id | name | sex | salary |
| — | — | — | — |
| 1 | A | f | 2500 |
| 2 | B | m | 1500 |
| 3 | C | f | 5500 |
| 4 | D | m | 500 |
[Answer]
Runtime: 151 ms, faster than 61.29% of MySQL online submissions for Swap Salary.
Memory Usage: N/A
Write your MySQL query statement below
UPDATE salary SET sex = IF(sex = ‘f’, ‘m’, ‘f’)
657. Robot Return to Origin
[Description]
There is a robot starting at position (0, 0), the origin, on a 2D plane. Given a sequence of its moves, judge if this robot ends up at (0, 0) after it completes its moves.
The move sequence is represented by a string, and the character moves[i] represents its ith move. Valid moves are R (right), L (left), U (up), and D (down). If the robot returns to the origin after it finishes all of its moves, return true. Otherwise, return false.
Note: The way that the robot is “facing” is irrelevant. “R” will always make the robot move to the right once, “L” will always make it move left, etc. Also, assume that the magnitude of the robot’s movement is the same for each move.
Example 1:
Input: “UD”
Output: true
Explanation: The robot moves up once, and then down once. All moves have the same magnitude, so it ended up at the origin where it started. Therefore, we return true.
Example 2:
Input: “LL”
Output: false
Explanation: The robot moves left twice. It ends up two “moves” to the left of the origin. We return false because it is not at the origin at the end of its moves.
[Answer]
Runtime: 5 ms, faster than 94.72% of Java online submissions for Robot Return to Origin.
Memory Usage: 36.8 MB, less than 99.80% of Java online submissions for Robot Return to Origin.
class Solution {
public boolean judgeCircle(String moves) {
if (moves == null || moves.trim().length() == 0)
return true;
int x = 0, y = 0;
for (char c : moves.toCharArray()) {
switch © {
case ‘L’:
x–;
break;
case ‘R’:
x++;
break;
case ‘U’:
y++;
break;
case ‘D’:
y–;
break;
}
}
return x == 0 && y == 0;
}
}
665. Non-decreasing Array
Runtime: 1 ms, faster than 99.42% of Java online submissions for Non-decreasing Array.
Memory Usage: 46.6 MB, less than 9.52% of Java online submissions for Non-decreasing Array.
class Solution {
public static boolean checkPossibility(int[] nums) {
for(int i = 0; i < nums.length - 1; i++){
//first occurance
if(nums[i] > nums[i+1]){
for(int j = i + 1; j < nums.length - 1; j++){
//second occurance
if (nums[j] > nums[j+1])
return false;
}
if(i == 0 || i + 2 > nums.length - 1){
return true;
}
if(nums[i] > nums[i + 2]){
if(nums[i - 1] > nums[i + 1]){
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
架构师筑基包括哪些内容
我花了将近半个月时间将:深入 Java 泛型.、注解深入浅出、并发编程.、数据传输与序列化、Java 虚拟机原理、反射与类加载、高效 IO、Kotlin项目实战等等Android架构师筑基必备技能整合成了一套系统知识笔记PDF,相信看完这份文档,你将会对这些Android架构师筑基必备技能有着更深入、更系统的理解。
由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容
注:资料与上面思维导图一起看会更容易学习哦!每个点每个细节分支,都有对应的目录内容与知识点!
这份资料就包含了所有Android初级架构师所需的所有知识!
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一起看会更容易学习哦!每个点每个细节分支,都有对应的目录内容与知识点!**
[外链图片转存中…(img-wSn66jLP-1712859251736)]
[外链图片转存中…(img-pP1HRIy6-1712859251736)]
这份资料就包含了所有Android初级架构师所需的所有知识!
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-UmCdHNIp-1712859251736)]