自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 问答 (2)
  • 收藏
  • 关注

原创 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。补码 = 反码 + 1;牛客网上的题目,自己做的时候,只能求出正数的二进制中 1 的个数,而负数才用补码表示,便没有完整实现出来。遂在网上看到了两个很好的解法于是便记录下来了。解法一:public class Solution { public int NumberOf1(int n) {

2017-04-20 17:02:29 615

原创 求400以内的Smith数,用循坏解决(还未用递归)

Smith数是指满足下列条件的可分解的整数:其所有数位上的数字和=其全部素数因子的数字总和例如,9975是Smith数,9975=3*5*5*7*19,即9975的数字和=因子的数字总和=30在找寻一个合数的所有质因子时,采用的是循环的方法。import java.util.ArrayList;import java.util.List;public class Test1

2017-03-19 17:03:57 4116

原创 java中String、StringBuffer及StringBuilder的区别

String:实用public final修饰的类。所以String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象。String类是final修饰的,不能被继承。StringBuffer和StringBuilder类对象为可修改对象,可以通过append()来修改值。StringBuffer和StringBuilder都

2017-03-14 23:51:51 386

原创 Java中的参数传递

Java中的参数传递只有值传递!!!没有引用传递!基本类型的参数传递:传递基本类型的一份拷贝。引用类型的参数传递:传递的是引用中所存储的地址值。注意:String等final修饰的类,其引用指向的空间不可变,需新开辟空间!基本数据类型传递:public class Test1 { private static void change(int a) { // 值传递

2017-03-13 23:37:12 340

原创 Java中抽象类和接口的区别及使用场景

抽象类:1、abstract 修饰的类是抽象类,包含抽象方法的类要声明为 abstract抽象方法2、抽象类中可以包含抽象方法、也可以包含非抽象方法、可以有构造函数3、抽象类不能被实例化,但可以定义引用变量4、抽象类必须被继承、子类必须重写抽象父类中的抽象方法、否则要声明为abstract抽象类接口:(java SE8 以前)1、定义如下:[修饰符] interface

2017-03-13 20:33:46 682

原创 人民币小写转化为大写转换(解决中间多个0的问题)

输入人民币小写转化成大写。若输入1003,输出 一千零三元。import java.util.Scanner;import java.util.Arrays;public class Test4 { public static void main(String[] args) { // 数据 char[] zi = {'零', '壹', '贰', '叁', '肆',

2017-03-13 19:21:10 1106

转载 Android初级不得不知的知识

Android开发基础规范 http://blog.youkuaiyun.com/hejjunlin/article/details/52602487我打赌你一定没搞明白的Activity启动模式 Context都没弄明白,还怎么做Android开发? Activity Window View之间的三角关系 http://www.jianshu.com/users/bd3befbe51d0/l

2017-03-10 20:28:22 344

原创 洗牌!打乱一组有序数

将一个有序数组打乱方法一:利用随机得到的索引一次交换import java.util.Arrays;public class Test3 { public static void main(String[] args) { int[] m = new int[20]; // 创建一个有序数组 for (int i = 0; i < 20; i++) { m[i] =

2017-03-10 19:48:26 415

原创 求数组中连续子元素的最大值(动态规划)

求数组中连续子元素的最大值方法一:利用动态规划的思想。public class Test2 { public static void main(String[] args) { int[] m ={3, -5, 7, 9, -1, 4, -40, 12, -2, 13, 2, -13, 10}; int currentSum = 0; int maxSum = 0; fo

2017-03-10 19:20:05 919

原创 寻找一个数组中出现次数为奇数次的一个数

寻找一个数组中出现次数为奇数次的一个数,采用异或的方法解决。原理:相同的两个数异或会抵消public class Test1 { public static void main(String[] args) { int[] m = {9, 4, 9, 5, 4, 5, 7}; // 声明一个变量储存最后的结果 int r = 0; for (int e : m

2017-03-10 18:58:01 1032

转载 Android中的Uri

1.Uri通用资源标志符(Universal Resource Identifier, 简称"URI")。Uri代表要操作的数据,Android上可用的每种资源 - 图像、视频片段等都可以用Uri来表示。URI一般由三部分组成: 访问资源的命名机制。 存放资源的主机名。 资源自身的名称,由路径表示。 Andro

2017-03-03 20:07:56 332

原创 简单的选择排序

选择排序:在要排序的一组数中,每一趟选出最小(大)的数与为排序数组的第一个数交换,再在剩下的数组中寻找。操作方法:第一趟,从n 个记录中找出关键码最小的记录与第一个记录交换;第二趟,从第二个记录开始的n-1 个记录中再选出关键码最小的记录与第二个记录交换;以此类推.....第i 趟,则从第i 个记录开始的n-i+1 个记录中选出关键码最小的记录与

2017-02-24 10:31:08 246

原创 Python爬虫中的Get和Post方法

通俗的说,Get是直接请求、打开,Post是请求、对方通过后才能打开。Get和Post最重要的区别是,Get方式是直接一链接形式访问,链接中包含了所有的参数,当然如果包含了密码什么的是不安全的,不过你可以直观的看到自己提交的内容。Post则不会再网址上显示所有参数,不过如果你想直接查看提交了什么就不太方便了。可以根据自己的需要酌情选择。

2017-02-09 19:28:12 4693

原创 Java中Lambda表达式与方法引用和构造器引用

方法引用:首先看 Timer t = new Timer(1000, System.out::println);表达式 System.out::println 就是一个方法引用,等价于Lambda表达式 x -> System.out.println(x);方法引用的三种情况:(一)、object::instanceMethod(二)、Class::staticMeth

2017-02-09 16:45:24 1638

原创 JAVA中Lambda表达式初谈

Lambda表达式的语法基本语法:(parameters) -> expression或(parameters) ->{ statements; }// 不需要参数,返回值为 5 () -> 5 // 接收一个参数(数字类型),返回其2倍的值 x -> 2 * x // 接受2个参数(数字),并返回他们的差值 (x, y) -> x – y

2017-02-09 16:21:30 295

原创 JAVA中的Volatile关键字

有时候仅仅只是读取一两个实例域就使用同步未免显得开销过大,此时,Volatile关键字的作用就出来了!Brian Goetz 给出过这样的“同步格言”:“如果向一个变量写入值,而这个变量接下来可能会被另一个线程读取,或者,从一个变量读取值,而这个变量可能是之前被另一个线程写入的,此时必须使用同步!”。Volatile关键字为实例域提供了一种免锁机制。假如有一个布尔变量,它的值被一个变量

2017-02-07 14:46:39 259

转载 Lock和synchronized的区别

1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定,如果使用 synchronized ,如果A不释放,B将一直等下去,不能被中断如果 使用ReentrantLock,如果A不释放,可以使B在等待了足够长的时间以后,中断等待,而干别的

2017-02-06 22:21:57 263

原创 折半插入排序和2-路插入排序

折半插入排序在直接插入排序的基础上,运用折半查找的思想来寻找待插入数据在已排序列中合适的位置,可以减少比较次数。

2017-01-12 21:49:26 559

原创 直接插入排序

直接插入排序是一种最简单的排序算法,基本操作为将未排序序列中的元素一次插入已排好序的序列中。·

2017-01-12 20:35:50 255

转载 八大排序算法

排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。几大排序算法比较:

2017-01-12 20:22:51 250

原创 C\C++,用不带头结点的循坏列表实现约瑟夫问题

编号为1,2,3,…,n的n个人按顺序针方向围坐一张圆桌旁,每个人手中持有一个密码(正整数)。首先输入一个正整数作为报数上限值m,然后,从第一个人开始按顺序针方向自1开始顺序报数,报到m的人离开桌子,并将他手中的密码作为新的m值,从顺序针方向的下一个就坐在桌旁的人开始重新从1报数,如此下去,直至所有人全部离开桌旁为止。算法思想:用单循环链表来解决这一问题。实现的方法

2016-11-09 19:06:10 818

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除