Android凉了?前段时间刚更新了新的Logo,换了新的叫法,现在Android 10终于向亲儿子系统进行了推送。更安全,更好,更强的版本来袭,他是真的凉了吗?
文中有Android 10的介绍地址,感兴趣的赶紧去看看呗。我们都希望第三个系统出来挑战现在的Android和iOS,争夺市场的份额。在没彻底出来之前,还是看看Android的改版,带给我们的是什么吧。
插播一条感慨:昨晚的中国队,浪费了杨超越的上上签。但是,上上签还没结束,希望这个签,能让我们顺利去明年的东京奥运。篮球,是五个人的运动,是一个TEAM,后续继续加油!
反转字符串
(https://leetcode-cn.com/problems/reverse-string/
)
题目描述:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。
示例1:
输入:["h","e","l","l","o"]
输出:["o","l","l","e","h"]
示例2:
输入:["H","a","n","n","a","h"]
输出:["h","a","n","n","a","H"]
今天还是玩玩字符串的反转。咋一看这题,其实大家也知道了,难度并不大,我在这里想表达就是使用两种方式来进行解题。
方法一: 双指针解法。
使用while循环,初始化的时候,用i和j分别指向数组的第一个和最后一个元素。每次交换i和j两个位置的元素,然后将i向右,j向左往中间靠拢即可。
public static void reverseString1(char[] s) {
if (s == null || s.length == 0) {
return;
}
int i = -1;
int j = s.length;
while ( i++ < --j) {
swap1(s, i, j);
}
for (char c : s) {
System.out.println(c);
}
}
// 交换元素
public static void swap1(char[] s,int i, int j) {
char x = s[i];
s[i] = s[j];
s[j] = x;
}
方法二: 递归
又是熟悉的递归,在算法里,递归真的是无处不在,用得好非常好,用的不好,那还得小心堆栈溢出的情况。
这里其实和方法一的思路差不多,就是方法一用的是while循环获取元素,在递归这里,我们让递归自己进行数组位置的移动,也是都往中间跑。
public static void reverseString(char[] s) {
if (s == null || s.length == 0) {
return;
}
int i = 0;
int j = s.length;
swap(s, i, j - 1);
}
// 使用递归交换元素
public static void swap(char[] s,int i,int j) {
if (i >= j) {
return;
}
char x = s[i];
s[i] = s[j];
s[j] = x;
swap(s, i + 1, j - 1);
}
大致上就是这两种方法即可。因为只能在当前数组上进行修改,所以交换元素肯定是必经之路了。唯一变化的就是元素如何获取,方法一用的循环,方法二用的递归,大家知道性能上哪个好一些么?欢迎留言区给我答案。小编晚点再公布。
Android 10: Everything you need to know!
(https://www.androidcentral.com/android-10
)
Android 10 揭开了它最终的面纱,今天正式版已经问世了。现在的Android发展,也越来越好,虽然很多人都觉得它凉了,但是小编不这么认为。
目前的Android虽然已经过了高速发展的时期,但也还是在巅峰期,这个巅峰谁也不知道持续多久,但是更进一步的发展,Google一直在努力,一直在进化,一直在向开发者,用户等提供更好的版本,更好的体验。
文中介绍了Android新的几大特性,而且还能看到新的清爽的Logo,以及更安全的系统。感兴趣的,可以看看这个地址给的新版的介绍。如果你手上是亲儿子的手机,那么恭喜你,静静地等待推送更新吧。
在第二十二期的时候,我们介绍了Linux常用命令的其中5种,忘记的同学,可以去看看Dimple在左耳听风ARTS打卡(二十二)。
今天,我们继续介绍5个常用的Linux命令。
$ awk '!($0 in array) { array[$0]; print}' temp
打印/etc/passwd中所有包含同样的uid和gid的行
$ awk -F ':' '$3=$4' /etc/passwd
打印文件中的指定部分的字段
$ awk '{print $2,$5;}' employee.txt
$ vim +10 filename.txt
打开文件跳到第一个匹配的行
$ vim +/search-term filename.txt
以只读模式打开文件
$ vim -R /etc/passwd
$ diff -w name_list.txt name_list_new.txt
$ sort names.txt
以降序对文件内容排序
$ sort -r names.txt
以第三个字段对/etc/passwd的内容排序
$ sort -t: -k 3n /etc/passwd | more
$ export | grep ORCALE
declare -x ORACLE_BASE="/u01/app/oracle"
declare -x ORACLE_HOME="/u01/app/oracle/product/10.2.0"
declare -x ORACLE_SID="med"
declare -x ORACLE_TERM="xterm"
设置全局环境变量
$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0