【Mooc课程】测试基础知识 测试基础学习1. 测试的基础概念when 启动:越早越好 结束:从多个维度综合评估 what why who 开发和测试人员 how 计划->控制->分析和设计->评估->结束 how better 拟定合理的测试策略2. 测试的基本原则1、测试显示缺陷的存在,但不能证明没有缺陷 2、穷尽测试是不可能的 3、测试尽早介入 4、缺陷集群性(80%的缺
【java】实现多线程资源共享 java中多线程有两种实现方式,一种是继承Thread类,另一种是实现Runnable接口。而要想实现资源共享就只能用第二种方法来做。class MyThread implements Runnable{ private int ticket = 5; public void run(){ for(int i = 0; i < 10; i++){
【java】多线程的两种实现 java中多线程有两种实现方式,一种是继承Thread类,另一种是实现Runnable接口(推荐使用)。下面来介绍这两种方法的使用:1、继承Thread类class MyThread extends Thread{ private String ThreadName; public MyThread(String ThreadName){ this.ThreadName
【java】异常处理 java中已经帮我们写好了异常类。在运行中出现异常会立刻中断程序并抛出异常信息。那么如果我们当异常出现时我们仍然想继续完成程序的运行,那么就需要做异常处理。形如:try{ 做某件操作;}catch(Exception e){ 捕捉到异常;}finally{ 无论有没有异常我都会到这里来;}另有关键字throw和throws。throw可以使得程序直接抛出异常:try{
【java】面向对象——封装性、继承性和多态性 用一个简单的例子来展示封装性、继承性和多态性:class Person{ private String name; private int age; public void setName(String name){ this.name = name; } public void setAge(int age){ if(age>=
【java】初识面向对象程序设计 为日后工作需要,我在大四开始系统的学习java。ps:之前是在做安卓或者web的时候,需要用哪部分就看一下哪部分,不系统的学习了java。因为之前有c++的基础,所以对一些基础的、相通的知识(基本数据类型、数组、函数等等)就不在CSDN上总结了。———分割线——————————————————— 面向对象程序设计:类与对象: 类:定义出一个基本的模板,代表着一个共性。类中定义了一些属性和
Android UI 设计 练习1 ——登陆界面 我这次的练习时实现如下登陆界面,只是为了学习,找了一个样例,并不做其他用途… 任务主要有以下几点: 1.自定义按钮 2.设计EditText 3.画线 4.去除标题1.自定义按钮 首先在drawable下新建xml文件: 我这里的取名是selector1,命名没有取好… 具体的内容是: 这里有两个状态分别是未按下和按下,使用了不同的图片: unpress: pres
c++ 类型转换函数 string转int:#include<cstdlib>string str;str = "123";int num;num = atoi(str.c_str())string转double:#include<cstdlib>string str = "123";double num = atof(str.c_str());以后遇到类型转化继续补充!
leetCode 165. Compare Version Numbers 这道题是要我们比较两个版本号(就是那些软件的版本号)的大小。一开始我还奇怪这道题很简单怎么通过率这么低(17.7%)。做完之后我就知道我还是太年轻了= =一开始我是直接用atof函数把string转成double进行比较,然后就死在1.1和1.10的比较上了,很明显1.10>1.1 但转成double之后就会有1.1 = 1.1…于是我改成以‘.’为界,前面用一个int记录,后面用另一个int记录。
LeetCode 160. Intersection of Two Linked Lists 题目要我们求得两个链表的交叉点,如果没有就返回NULL。值得注意的是题目对于时间复杂度和空间复杂度是有要求的。用暴力的遍历时间复杂度会是O(n^2),就不符合题目要求了。这里我解题的思路是,如果两个链表有交叉点,那么从后往前数,数到某一个链表结束那么就一定会遇到交叉点。所以我把较长的链表的前面部分去掉,让两个链表等长之后就比两个链表有没有相同的节点,第一个相同的节点就是交叉点。这里还有一个小优化:在
【hector slam】IV. 2D SLAM(A.Map Access 双线性线性插补) IV. 2D SLAMA. Map Access It should be noted that the sample points/grid cells of the map are situated on a regular grid with distance 1 (in map coordinates) from each other, which simplifies the
LeetCode 141. Linked List Cycle 判断一个单向链表中是否有环。我的方法是让一个指针一次走一步,另一个指针一次走两步。让他们在不为空的情况下一直走。如果有环,这两个指针一定会有重合的时候,如果没环,他们迟早会有一个为空。AC代码:bool hasCycle(ListNode *head) { ListNode *one,*two; one = two = head; while(one != NULL &&
LeetCode 121 Best Time to Buy and Sell Stock 题目意思是有一个数组记录了一个股票每天的价格。现在你只可以买卖一次,求最大的收益。其实就是求max(arr[i]-arr[j])(i>=j) AC代码:int maxProfit(vector<int>& prices) { if(prices.empty()) return 0; int min_price = prices[0]; int ans = 0; f
LeetCode 119. Pascal's Triangle II 题目很简单,输入一个数字n,返回杨辉三角的第n行。(他这里使用的是0 1 2 3这种计数,就比如他给的例子k=3,返回的是1 3 3 1)解题思路和上一篇博客(LeetCode 118. Pascal’s Triangle http://blog.csdn.net/trident_/article/details/51490228)基本一致,我们知道杨辉三角的第n+1行第m+1列的元素为c(n
LeetCode 118. Pascal's Triangle 题目很简单,输入一个数字n,返回一个n行的杨辉三角。解题思路也很简单,我们知道杨辉三角的第n+1行第m+1列的元素为c(n,m)=n!/[m!(n-m)!]。所以我们写个一个函数可以返回c(n,m),再利用两重循环就可以填充这个杨辉三角了(可以看作一个二维矩阵)。我也是这么做的,写了一个函数先求n!,再求m!,(n-m)!,最后返回n!/[m!(n-m)!]。注意这里要考虑n=0,m=0以及n=m时
LeetCode 112. Path Sum 写一个布尔函数来判断一棵树有没有一条根到叶子节点的路径上所有节点数值之和是某个数的,有就返回true,没有返回false。 我这里的方法类似于做 LeetCode 111.Minimum Depth of Binary Tree 的方法。(http://blog.csdn.net/trident_/article/details/51483115)。只是把深度换成到该节点的数值
LeetCode 111.Minimum Depth of Binary Tree 题目大意是求一颗树的最小深度。从根节点到叶子节点每往下一层,深度加1,根节点的深度为1。 先贴代码: int m = 9999;int depth = 1;void dfs(TreeNode* root){ if(root->left == NULL && root->right == NULL){ if(depth<m){
LeetCode 102. Binary Tree Level Order Traversal 题目大意是把一颗树的所有节点记录下来,但是要求要以行为单位按根到叶子的顺序记录,而每一行又是从左到右记录。先贴代码再解释:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNod
LeetCode 101. Symmetric Tree 判断一棵树是否是镜像的,即左右对称。 一开始我想用中序遍历来进行判断,我认为镜像的树中序遍历的结果应该也是镜像的(以1/2点为中心左右对称) 代码如下:(这个代码是wrong answer的!)string ans;void tree(TreeNode* root){ if(root!=NULL){ tree(root->left); ans+=root
LeetCode 100. Same Tree 比较两个二叉树是否相同。 我们很容易想到这就是一个遍历树的变形的题目,于是我写了下面的代码: ps:这个代码是错的!!!!bool isSameTree(TreeNode* p, TreeNode* q) { if(p != NULL && q!=NULL){ if(p->val == q->val){ return isSameTree(p->l