- 浏览: 47322 次
最新评论
-
exceptionhelp:
white_crucifix 写道exceptionhelp ...
java httpClient 发送post请求 参数json格式 -
white_crucifix:
exceptionhelp 写道white_crucifix ...
java httpClient 发送post请求 参数json格式 -
alleni123:
这个applicaton/json明明是给浏览器看的, 跟服务 ...
java httpClient 发送post请求 参数json格式 -
alleni123:
能不能把服务器端解析的代码也贴出来
java httpClient 发送post请求 参数json格式 -
exceptionhelp:
white_crucifix 写道楼主你把例子里的person ...
java httpClient 发送post请求 参数json格式
文章列表
今天分享一个"将一个整数的每位数分解并按逆序输出"。这个问题我们可以有两种解法,一种是递归,一种是非递归。我们先来说说递归解法。
这里面我们回用到两个运算符,%和/。/是求商,%取余。
递归:首先找递归的出口,我们这个出口是当n的绝对值小于10的时候我们把它放进一个list中然后函数返回。因为整数包括负整数,我们这里会取绝对值。接下来我们找递归方程,如果我们输入的数是123.那么我们应该递归123/10。在递归前我们要存储123%10,也就时存储他的个位数。具体代码如下:
public void nxCQ(int n) {
if (n < 0) {
n = M ...
昨天我们说了寻找最大的K个数常规的两种解法,一种使用快速排序,另外一种是部分排序。今天我们介绍一种优化解法,
思想如下:在数组arr中我们进行一趟快速排序,选定key,把数组分为两部分a1,和a2。a1中的元素大于等于key,a2中的元素小于key。这样的话就会有两种可能,第一:a1中的元素个数小于K,所以a1中的元素加上K-a1.length个元素就是数组arr中最大的K个数。第二:a1中的元素个数大于或等于K,则返回a1中最大的K个数。这样不断递归就可以决绝这个问题。
先说说,一次快速排序。我们需要返回两个数组a1,a2,但是java不支持多参返回,所以我们用二维数组做为返回参数。具体代码如 ...
package com.mianshi.test;
import java.util.ArrayList;
import java.util.List;
//需求:给出两个已经排序的数组,求两个数组的交集
//思路:取两个数组的交集,最直接的办法就是建两个for循环,遍历两个数组一个一个进行对照,若等就记录下来。但是这种办法效率比较低,给出的数组
//已经是排好序的所以我们可以使用二分查找,这样效率就会大大提高。还有一个地方,因为事先不知道有多少交集,即新数组的长度不确定,所以我们要
//借助List<Integer>集合。先把交集存在list中,之后再存入数组。如果数组比较大, ...
寻找最大的K个数,这个是面试中比较常见的一道题,网上也有很多例子,在这里先写一些比较传统的解法,以后会更新到比较好的算法。
这个题拿到之后首先会想到排序,排好序之后在选取选取最大的K个数。排序选择快速排序是个比较好的选择。
好了,让我们来进行第一个解法:快速排序
代码如下
public static void quickSort(int[] arr, int start, int end) {
if (start < end) {
int key = arr[start];
int right = start;
int left = end;
while (ri ...
编程实现矩阵,输入参数打印出相应维数的矩阵,如输入4,打印的矩阵为:
0 0 0 0
0 1 1 1
0 1 2 2
0 1 2 3
解题思路:刚拿到这个题的时候脑袋全是乱麻,想想但是怎么就没有好好学习线性代数,当时要是学好了 ...
选择排序,简单的说就是,每次遍历数列,取出最大或最小的值放在已排好序数列的最后。
最简单的就是在排序方法内部新建一个和原数组大小一样的空数组,这样每次遍历之后把最大或最小值放在对应的空数组中,代码如下:
public static int[] selectSort1(int[] arr) {
if (arr == null || arr.length == 0) {
return null;
}
int[] newArr = new int[arr.length];
int minNum = Integer.MIN_VALUE;
for (int i=0; i<a ...