Fork me on GitHub
Wakaka

路漫漫其修远兮,吾将上下而求索


  • 首页

  • 关于

  • 标签

  • 归档

Android-版本

发表于 2018-07-13

Android 版本一览

版本 名称 新增关键特性 发布日期 市场占有率 API级别
Android 10.1 无 无 无 0 30
Android 9.1 Popcorn(爆米花) 新的复活节彩蛋、UIbug修复、支持最低级别的Ram、新的启动动画、Emoji表情更新、Api速度提升 20180316 0.1% 29
Android 9 Popcorn UI更新(UI上的圆角、快速设置菜单按钮、通知栏中时间被移到左边、底部常用应用区域背景半透明、应用之间的切换动画左右方向、音量滑块更新)、富文本更新(智能恢复、更大图片、完整的对话)、电源菜单中包含截屏按钮、指纹认证可被禁用一次 2018第四季度 0.2% 28
Android 8.1 Oreo(奥利奥) 蓝牙连接设备电量、导航按钮在不使用时变暗、关机和重启的UI更新、Toast背景变为白色、亮度自适应、Emoji表情更新 20171205 0.8% 27
Android 8.0 Oreo 画中画模式、免安装应用、通知系统提升、系统设置提升、锁屏重新设计 20170821 0.8% 26
Android 7.1.2 Nougat(牛扎糖) 电池使用提醒 20170404 6.2% 25
Android 7.1.1 Nougat 长按App图标开启新的操作、默认键盘可直接发送Gif、新的Emojis 20161205 6.2% 25
Android 7.1 Nougat VR模式、夜间模式、存储管理提升、触摸和显示管理的性能改进、提供指纹向下滑动手势选项、无缝的系统更新 20161004 6.2% 25
Android 7.0 Nougat Unicode 9.0 emoji、多任务处理、多窗口模式、无缝的系统更新 20160822 22.3% 24
Android 6.0.1 Marshmallow(棉花糖) 新的Emojis 20151207 28.1% 23
Android 6 Marshmallow 支持USB Type-C、支持指纹认证、电池深度睡眠模式、权限面板、Android Pay、MIDI支持、Google Now 提升 20151005 28.1% 23
Android 5.1.1 Lollipop(棒棒糖) 速度提升、Bug修复 20150421 19.2% 22
Android 5.1 Lollipop 支持多SIM卡、快捷设置WiFi/蓝牙、防盗或丢失、高清语音通话、稳定性和性能增强 20150309 19.2% 22
Android 5.0.2 Lollipop 性能提升、bug修复 20141219 5.4% 21
Android 5.0.1 Lollipop bug修复、修复视频播放和密码失败的问题 20141202 5.4% 21
Android 5.0 Lollipop Material design、速度提升、更好的电池管理 20141017 5.4% 21

更多更详细的内容请参考:Android版本特性

LeetCode-058-最后一个单词的长度

发表于 2018-07-12

题目描述

给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。

如果不存在最后一个单词,请返回 0 。

说明:一个单词是指由字母组成,但不包含任何空格的字符串。

示例

1
2
输入: "Hello World"
输出: 5

思路

利用split分割String,查看最后一个元素的长度

解答

1
2
3
4
5
6
7
8
public int lengthOfLastWord(String s) {
if (s == null || s.trim().length() == 0) {
return 0;
}
String[] temp = s.split(" ");
int len = temp.length;
return len == 0? 0:temp[len-1].length();
}

LeetCode-066-加一

发表于 2018-07-12

题目描述

给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。

最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

示例

1
2
3
输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。

思路

分两种情况考虑:

  • 如果全为9的话就数组长度加一,再加一
  • 如果不全为9,如果末尾等于9,那就往前寻找第一个不为9的数,将其加一,后面置0 ,如果末尾不等于9,那就直接加一

解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public int[] plusOne(int[] digits) {
int len = digits.length;
boolean flag = true;
for (int i=len-1;i>=0;i--){
if (digits[i] != 9){
flag = false;
break;
}
}
if (flag){
int[] result = new int[++len];
for (int i=1;i<len;i++){
result[i] = 0;
}
result[0] =1;
return result;
}else {
if (digits[len-1] == 9){
int i=len-1;
while (digits[i] == 9){
i--;
}
digits[i]++;
for (int j=i+1;j<len;j++){
digits[j] =0;
}
}else {
digits[len-1]++;
}
}
return digits;
}

LeetCode-069-x的平方根

发表于 2018-07-12

题目描述

实现 int sqrt(int x) 函数。

计算并返回 x 的平方根,其中 x 是非负整数。

由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。

示例

1
2
3
4
输入: 8
输出: 2
说明: 8 的平方根是 2.82842...,
由于返回类型是整数,小数部分将被舍去。

思路

这个,就不说了。

解答

1
2
3
public int mySqrt(int x) {
return (int) Math.floor(Math.sqrt(x));
}

LeetCode-070-爬楼梯

发表于 2018-07-12

题目描述

假设你正在爬楼梯。需要 n 步你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

注意:给定 n 是一个正整数。

示例

1
2
3
4
5
6
输入: 3
输出: 3
解释: 有三种方法可以爬到楼顶。
1. 1 步 + 1 步 + 1 步
2. 1 步 + 2 步
3. 2 步 + 1 步

思路

迭代法解决
设S(n)表示走n级台阶的走法数量。走n级台阶,第一步只有两种选择:可以选择走1阶,然后还有S(n-1)种走法;选择走2阶,那么接下来有S(n-2)种走法。那么S(n) = S(n-1) + S(n-2)。

解答

1
2
3
4
5
6
7
8
9
10
11
12
public int climbStairs(int n) {
if (n<2){
return n;
}
int f1 = 1,f2 = 0,sum = 0;
for (int i=1;i<=n;i++){
sum = f1+f2;
f2 =f1;
f1 = sum;
}
return sum;
}

LeetCode-053-最大子序和

发表于 2018-07-11

题目描述

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

示例

1
2
3
输入: [-2,1,-3,4,-1,2,1,-5,4],
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。

思路

1
2
preSum = preSum > 0 ? preSum + nums[i] : nums[i];
maxSum = Math.max(maxSum, preSum);

解答

1
2
3
4
5
6
7
8
9
10
11
12
public int maxSubArray(int[] nums) {
if (nums == null || nums.length == 0) {
return 0;
}
int preSum = nums[0];
int maxSum = preSum;
for (int i = 1; i < nums.length; i++) {
preSum = preSum > 0 ? preSum + nums[i] : nums[i];
maxSum = Math.max(maxSum, preSum);
}
return maxSum;
}

LeetCode-035-搜索插入位置

发表于 2018-07-11

题目描述

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

你可以假设数组中无重复元素。

示例

1
2
输入: [1,3,5,6], 5
输出: 2

思路

先考虑边界问题,然后分别考虑数组内是否有需要插入的元素

解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public int searchInsert(int[] nums, int target) {
int flag = 0;
if (nums[0]>=target){
return 0;
}
if (nums[nums.length-1]<target){
return nums.length;
}
if (nums[nums.length-1]==target){
return nums.length-1;
}
for (int i = 0;i<nums.length-1;i++){
if (nums[i] == target){
flag = i;
break;
}
if (nums[i]<target&& nums[i+1]>target){
flag = i+1;
break;
}
}

return flag;
}

LeetCode-027-移除元素

发表于 2018-07-11

题目描述

给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

示例

1
2
3
4
5
给定 nums = [3,2,2,3], val = 3,

函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。

你不需要考虑数组中超出新长度后面的元素。

思路

和026思路一致

解答

1
2
3
4
5
6
7
8
9
10
public int removeElement(int[] nums, int val) {
int num = 0;
for (int i=0;i<nums.length;i++){
if (nums[i] != val){
nums[num] = nums[i];
num++;
}
}
return num;
}

LeetCode-026-删除排序数组中的重复项

发表于 2018-07-11

题目描述

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

示例

1
2
3
4
5
给定数组 nums = [1,1,2], 

函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。

你不需要考虑数组中超出新长度后面的元素。

思路

想像用两指针i,j,从零开始,如果两个指针的指向的值相等,j++,不相等指针j指向的值赋给指针i,i++,j++,返回i++

解答

1
2
3
4
5
6
7
8
9
10
11
public int removeDuplicates(int[] nums) {
int num = 0;
for (int i=0;i<nums.length;i++){
if (nums[i] != nums[num]){
num++;
nums[num] = nums[i];
}
}
num++;
return num;
}

LeetCode-021-合并两个有序链表

发表于 2018-07-06

题目描述

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

示例

1
2
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4

思路

一者为Null,返回另一个,其次比较大小,小的放在新ListNode中,递归调用,返回结果

解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if (l1 == null){
return l2;
}
if (l2 == null){
return l1;
}
ListNode l3 = null;
if (l1.val <= l2.val){
l3 = l1;
l3.next = mergeTwoLists(l1.next,l2);
return l3;
}else {
l3 = l2;
l3.next = mergeTwoLists(l1,l2.next);
return l3;
}
}
}

```

123…9

Wakaka

84 日志
25 标签

© 2018 Wakaka
本站访客数:
本站总访问量次 |
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.3