比较笨的办法。效率有点低。 只是实现了功能。 期待牛人的算法。
我弄了个最佳方案
http://blog.csdn.net/yjflinchong/article/details/7533972 3秒就搞定了
///http://blog.csdn.net/yjflinchong/article/details/7532018
package com.my.util;
import java.io.*;
import java.util.*;
import java.net.*;
public class WebTest {
public static int last = 333333333;
public static int max = 100000000;//数据总数
public static int sp = 1000000;//分割数据条数
public static int[] ary = new int[100];
public static void main(String[] args) {
splitFile();
Date d1 = new Date();
find("d:/file/file.txt");
System.out.println(Arrays.toString(ary)+"========");
Date d2 = new Date();
System.out.println(d2.getTime()-d1.getTime());
}
public static void splitFile(){
StringBuffer str = new StringBuffer("");
int num = 1;
for (int i = 1; i < (max+1); i++) {
str.append(i+"\t\n");
if(i%1000000==0){
appendToFile("d:/file/file.txt", str.toString());
str = new StringBuffer("");
num++;
}
}
appendToFile("d:/file/file.txt", last+"");
}
public static void appendToFile(String file,String text){
try
{
FileWriter fw =new FileWriter(file,true);
BufferedWriter bw=new BufferedWriter(fw);
bw.write(text);
bw.flush();
}catch (Exception e) {
}
}
public static String readFile(String path){
StringBuffer str = new StringBuffer("");
try {
String line = null;
BufferedReader reader = new BufferedReader(new FileReader(path));
while ((line = reader.readLine()) != null) {
str.append(line);
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
return str.toString();
}
public static void find(int[] bak){
for (int i = 0; i < bak.length; i++) {
ary[0] = bak[i];
sort(ary);
}
}///http://blog.csdn.net/yjflinchong/article/details/7532018
public static void find(String path){
try {///http://blog.csdn.net/yjflinchong/
String line = null;
BufferedReader reader = new BufferedReader(new FileReader(path));
while ((line = reader.readLine()) != null) {
ary[0] = Integer.parseInt(line.trim());
sort(ary);
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
///http://blog.csdn.net/yjflinchong/article/details/7532018
public static void sort(int[] array){
for(int i = 0; i < array.length - 1; i++){
//当前值当作最小值
int min = array[i];
for(int j = i+1; j < array.length; j++){
if(min>array[j]){
//如果后面有比min值还小的就交换
min = array[j];
array[j] = array[i];
array[i] = min;
}
}
}
}
}
分享到:
相关推荐
腾讯面试题解析,android面试题,2020年面试题,网络基础,常用三方库,算法基础等等的。腾讯面试题解析,android面试题,2020年面试题,网络基础,常用三方库,算法基础等等的
最新腾讯PHP面试题1. php 的垃圾回收机制 PHP 可以自动进行内存管理,清除不需要的对象。 PHP 使用了引用计数 (reference counting) GC 机制。 每个对象都内含一个引用计数器 refcount,每个 reference 连接到对象,...
腾讯面试题 前端面试题 腾讯的前端面试题。
腾讯研究院:2019腾讯数字生活报告-2019.5-48页.pdf
腾讯Java面试题
腾讯java面试题 2013年腾讯java笔记题,
最快的排序算法 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹(详解)?,排序算法数据结构
阿里面试20题 百度面试10题 华为面试10题 京东面试13题 腾讯面试37题 头条面试10题 项目经理面试常遇问题 经典面试题 程序员 IT经理 项目经理 面试题 研发经理 高级程序员 经典面试题
腾讯php面试题解析
一年之前的10月14日,一个名叫July (头像为手冢国光)的人在一个叫csdn的论坛上开帖分享微软等公司数据结构+算法面试100题,自此,与上千网友一起做,一起思考,一起解答这些面试题目,最终成就了一个名为:结构之...
腾讯面试题及面试经历(技术工程师类), 应聘的技术支持类。
ava工程师面试题大全-100%公司笔试题你都能碰到几个.docx Java开发工程师上机笔试题.docx Java开发求职面试题.docx Java开发笔试题.docx Java数据结构类面试题.docx Java数据结构题.docx Java笔试面试宝典.docx Java...
腾讯校园招聘历年经典面试题汇总:前端岗!
腾讯后台开发面试题及答案 2016年02月25日 18:09:10 kmcfly 阅读数:4972更多 个人分类: private 简单归纳:fd只是一个整数,在open时产生。起到一个索引的作用,进程通过PCB中的文件描述符表找到该fd所指向的文件...
这份腾讯Java面试题汇总了腾讯一线技术面试中经常出现的题目,涵盖了Java基础、多线程、集合类、网络编程、JVM调优、Spring框架、分布式系统等多个方面。通过这份面试题,可以帮助求职者更好地准备腾讯的面试,提高...
在这里汇总了腾讯历年的笔试面试题,希望对和我一样正在找工作的朋友一点帮助
10道腾讯的Java面试题10道腾讯的Java面试题10道腾讯的Java面试题10道腾讯的Java面试题10道腾讯的Java面试题10道腾讯的Java面试题
腾讯近年来笔试面试题合集 包括校园招聘与实习生招聘 主要是技术类
腾讯系统工程师面试题 腾讯系统工程师面试题 腾讯系统工程师面试题
主要是华为 腾讯的面试题 和一些面试技巧