MY Blog

Thinking will not overcome fear but action will.

  记一次ANR问题的解决

  性能优化

问题描述 界面加载过程中 出现ANR和明显的触摸卡顿 应用介绍 当前开发的应用是一个高度混合程度的应用(也就是Hybird App) 原生主要是作为一个壳容器来支撑H5应用的运行 所以经常在应用中使用的界面基本上架构都是 Activity or Fragment with WebView的形式 我们对WebView进行了高度自定义的扩展 包括JSAPI定制和白名单鉴权 容器全局代...

数字翻转

算法

题目 给你一个仅由数字 6 和 9 组成的正整数 num。 你最多只能翻转一位数字,将 6 变成 9,或者把 9 变成 6 。 请返回你可以得到的最大数字。 示例 输入:num = 9669 输出:9969 解释: 改变第一位数字可以得到 6669 。 改变第二位数字可以得到 9969 。 改变第三位数字可以得到 9699 。 改变第四位数字可以得到 9666 。 其中最大的数字是...

奇下标奇值 偶下标偶值

算法

题目 给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。 对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。 你可以返回任何满足上述条件的数组作为答案。 (时间复杂度不能超过N^2) 示例 输入:[4,2,5,7] 输出:[4,5,2,7] 解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受...

最小间距

算法

题目 给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。 如果数组元素个数小于 2,则返回 0。 要求:时间复杂度O(n). 示例 输入: [3,6,9,1] 输出: 3 解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。 题干 排序之后 相邻元素之间最大的差值 时间和空间复杂度O(n) 思路...

整数到0步数

算法

题目 给你一个非负整数 num ,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。 示例 输入:num = 14 输出:6 解释: 步骤 1) 14 是偶数,除以 2 得到 7 。 步骤 2) 7 是奇数,减 1 得到 6 。 步骤 3) 6 是偶数,除以 2 得到 3 。 步骤 4) 3 是奇数,减 1 得到 2 。 步骤 5) 2 ...

数组距离

算法

题目 给你两个整数数组 arr1 , arr2 和一个整数 d ,请你返回两个数组之间的 距离值 。 「距离值」 定义为符合此距离要求的元素数目:对于元素 arr1[i] ,不存在任何元素 arr2[j] 满足 arr1[i]-arr2[j] <= d 。 示例 输入:arr1 = [4,5,8], arr...

数组+整数

算法

题目 对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。 例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。 给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。 题干 数组 + 整数 思路 一定不要想着将数组化为整数相机 因为数组的位数是不限的 临时变量即使是long也无法存储 而且要考虑两边长度不齐的问题 可以先遍历一...

寻找幸运数

算法

题目 在整数数组中,如果一个整数的出现频次和它的数值大小相等,我们就称这个整数为「幸运数」。 给你一个整数数组 arr,请你从中找出并返回一个幸运数。 如果数组中存在多个幸运数,只需返回 最大 的那个。 如果数组中不含幸运数,则返回 -1 。 题干 整数的出现频次和它的数值大小相等 找出并返回一个幸运数 思路 整数的出现频次和它的数值大小相等 即有可能有多个重复数字 重复数...

除数博弈

算法

题目 爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。 最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作: 选出任一 x,满足 0 < x < N 且 N % x == 0 。 用 N - x 替换黑板上的数字 N 。 如果玩家无法执行这些操作,就会输掉游戏。 只有在爱丽丝在游戏中取得胜利时才返回 True,否则返回 False。假设两个玩家都以...

RxJava操作符,转换器和线程切换

从源码角度分析其成员的关系

前言 本篇文章基于Rxjava1.3.8版本源码解析 上篇文章 我们介绍了RxJava的成员类之间是如何组合串联整个数据流的 本篇文章 我们主要来阐述Rxjava的重要功能操作符转换器和线程切换 通过理清这些能让我们更好的操作数据达成我们业务的需要 正文 操作符 所谓操作符 即对数据流处理的函数 因为事件数据的处理自然是针对生产者故而操作符的方法 大部分封装在Obser...