-
Anroid异步处理
Anroid异步处理移动开发要求我们正确处理好主线程和子线程之间的关系,耗时操作放到子线程中而异步处理技术是提高应用性能,解决主线程和子线程之间通信的关键异步处理技术很多种,下图为完整的继承树可以看到Thread是异步处理技术的基础创建现场有两种方法,一种继承Thread并重写run方法一种实现Runnable一般来讲Android应用层都基于liunx的pthreads应用层可以分为三种类型的线程 主线程,即UI线程,若是在其他线程中更新UI,则会报错,抛出CalledFromWron...…
-
ANR产生原因及定位分析
ANR产生原因及定位分析ANR—-Application Not Responding1.ANR产生原因首先只有当应用程序的UI线程响应超时才会引起ANR,超时产生原因一般有两种。 当前的事件没有机会得到处理,例如UI线程正在响应另外一个事件,当前事件由于某种原因被阻塞了 当前事件正在处理,但是由于耗时太长没能及时完成。从本质上讲,产生ANR原因有三种,可以对应到4大组件的3个(Activity/View、BroadcastReceiver和Service)KeyDispatchTim...…
-
View的绘制流程
Android View的绘制过程最近又看了一下view的绘制,所以小小记录总结一波首先android的UI管理系统的层级关系如下所示首先Activity是作为应用程序的载体存在,代表完整的用户界面PhoneWindow是Android系统中最基本的窗口系统,每个Activity会创建一个PhoneWindow是Activity和View系统交互的接口DecorView本质上是一个FrameLayout,是Activity中所有的祖先1.绘制的整体流程首先启动一个主Activity,接着根...…
-
暂记为一些面试题
人品是如何才能增长的呢,那就是乐于分享华为面试题:一面:1.自我介绍2.项目经历3.问相关项目的事情如(你在项目中负责什么,做哪一块的东西等)4.问了下我简历上的一些奖项和一些简历上写的小东西,然后忘记问了啥知识点了,觉得我的C++与Java均还行,便有了第五个问题5.C++和Java的不同之处(当我回答到C++没有GC机制,Java有的时候,便有了第六个问题)6.GC机制的原理这个问题我讲了一下GC算法的原理(标记/清除算法),以及由标记/清除算法所演变来的标记/整理算法和复制算法,以画...…
-
Quick Sort Heap Sort
题目大意:利用快速排序对数据排序代码如下:#include<iostream>#include<vector>#include<algorithm>using namespace std;int partition(vector<int>&v,int nLow,int nHigh){ int nTemp=v[nHigh]; int i=nLow,j=nLow-1; while(i<nHigh){ if(v[i]<=nTe...…
-
异或 分堆
题目大意:异或运算是常见的二进制运算,给出两个n位二进制数a,b。a异或b的运算依次考虑二进制的每一位,若这一位相同,那么这一位的异或结果就是0,不同就是1。例如a=1100, b=0100。执行a异或b的运算,a的最高位是1,b的最高位是0,两个数字不同所以最高位异或结果是1;a和b次高位都是1,所以次高位异或为0;最后两位它们都是0,所以异或结果也都是0。那么a异或b的答案就是1000。现在输入两个n位二进制数,输出它们异或结果的十进制答案。上述样例中异或的二进制结果为1000,转化成...…
-
直方图最大矩阵
时间限制:3秒 空间限制:32768K 热度指数:2290本题知识点: 动态规划** 算法知识视频讲解题目描述有一个直方图,用一个整数数组表示,其中每列的宽度为1,求所给直方图包含的最大矩形面积。比如,对于直方图[2,7,9,4],它所包含的最大矩形的面积为14(即[7,9]包涵的7x2的矩形)。给定一个直方图A及它的总宽度n,请返回最大矩形面积。保证直方图宽度小于等于500。保证结果在int范围内。测试样例:[2,7,9,4,1],5返回:14题解:参考地址 参考地址2利用栈,使所有元素...…
-
爸爸去哪儿 01背包变形
题目大意:时间限制:C/C++语言 1000MS;其他语言 3000MS内存限制:C/C++语言 65536KB;其他语言 589824KB题目描述:小鱼儿和安吉一起去参加爸爸去哪儿,村长交给他们一项任务,是用老乡的水果去给爸爸兑换一个礼物,要求水果和礼物等价,不能多也不能少。假设老乡有n种水果,每种水果的数量不限,每种水果的价值不同。请帮小鱼儿和安吉计算出他们最少要和老乡要几个水果。如果无法兑换返回-1.举例:1.有3种水果,价值分别是5,2,3。礼物的价值是20.用4个5元的水果正好兑...…
-
0 1背包
题目大意:给你n个物品,第一行给出n第二行给出第i个物品的价值第三行给出第i个物品的重量第四行给出背包总重量要求给出可得最大价值代码如下:#include<iostream>#include<vector>using namespace std;//0 1背包int main(){ int n; scanf("%d",&n); vector<int>val(n); vector<int>weight(n); for(int i=0;i...…
-
剑指offer 字符串的全排列
来源:牛客网如abc,结果为abc,acb,bac,bca,cab,cba`题解:代码如下:vector<string> Permutation(string str) { vector<string>v; Perm(str,0,str.size()-1,v); sort(v.begin(),v.end()); return v; }bool IsSwap(string v,int a,int b){ f...…
-
剑指offer 有趣的数字
链接:https://www.nowcoder.com/questionTerminal/af709ab9ca57430886632022e543d4c6来源:牛客网小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?输入描述:` 输入包含多组测试数据。 对于每组测试数据: N - 本组测试数据有n个数 a1,a2…an - 需要计算的数据 保证: 1<=N<=100000,0<=ai<=INT_MAX. `输出描述:`对于每...…
-
2017春季华为机试
第一题:反转数字后相加得出结果如输入123,456输出975代码如下:#include<iostream>using namespace std;int reverseAdd(int a,int b){ if(a<1||a>70000||b<1||b>70000){ return -1; } int a1=0,b1=0; int index=10; while(a){ a1=a1*index+a%10; a/=10; } whil...…
-
剑指offer 替换空格
时间限制:1秒 空间限制:32768K 热度指数:29569本题知识点: 字符串** 算法知识视频讲解题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。代码如下:class Solution {public: void replaceSpace(char *str,int length) { for(int i=0;i<length;++i){ if...…
-
利用数组初始化二叉树
做剑指offer时都不需要自己初始化二叉树,但是有些时候必须自己初始化二叉树所以就有了这次记录代码如下:#include<iostream>#include<vector>#include<queue>using namespace std;struct BTree{ struct BTree *left; struct BTree *right; int val;}Tree;//这里假设为完全二叉树故判断条件有一个index>v.size()vo...…
-
剑指offer 从尾到头打印链表
时间限制:1秒 空间限制:32768K 热度指数:25160本题知识点: 链表** 算法知识视频讲解题目描述输入一个链表,从尾到头打印链表每个节点的值。利用dfs即可代码如下:/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(x), next(NULL) {* }* };*/class Solu...…
-
二维数组中的查找
时间限制:1秒 空间限制:32768K 热度指数:32359本题知识点: 查找** 算法知识视频讲解题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。题解:由于二维数组每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。所以我们从左下角开始查找,比它大的往右走,比它小的往上走即可代码如下:class Solution {public: boo...…
-
美团在线编程题 拜访
时间限制:3秒 空间限制:32768K 热度指数:1673本题知识点: 动态规划** 算法知识视频讲解题目描述现在有一个城市销售经理,需要从公司出发,去拜访市内的商家,已知他的位置以及商家的位置,但是由于城市道路交通的原因,他只能在左右中选择一个方向,在上下中选择一个方向,现在问他有多少种方案到达商家地址。给定一个地图map及它的长宽n和m,其中1代表经理位置,2代表商家位置,-1代表不能经过的地区,0代表可以经过的地区,请返回方案数,保证一定存在合法路径。保证矩阵的长宽都小于等于10。测...…
-
牛客网 翻转单词顺序列
时间限制:1秒空间限制:32768K热度指数:6831本题知识点:字符串**算法知识视频讲解题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?题解:利用空格分离字符串,用v...…
-
牛客网 把字符串转换成整数
时间限制:1秒空间限制:32768K热度指数:5997本题知识点:字符串**算法知识视频讲解题目描述输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0输入例子:+2147483647 1a33输出例子:2147483647 0题解:先判断第一位,再遍历字符串,若不为数字,则break;否则继续加代码如下:class Solution {public: int StrToInt(string str) { ...…
-
牛客网 扑克牌顺子
时间限制:1秒空间限制:32768K热度指数:5344本题知识点:字符串**算法知识视频讲解题目描述LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子…..LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面的...…