- 浏览: 151463 次
- 性别:
- 来自: 天津
文章分类
最新评论
-
MCQCM:
你的代码有个小问题,不信,你试试abceaefkbn。正确如下 ...
求字符串的最长不重复子串 -
cherry728:
如果服务由多个操作组成,那要怎么办呢。这些操作是需要顺序执行的 ...
一起学BPEL实例教程一(原创) -
zoukailiang0:
请问上面代码中的type变量是怎么获取的啊?我是用默认的pro ...
gef中的属性视图小结 -
我爱死了java:
楼主你好,看你的总结很感谢,不知道你可以把jaf-1_1-fr ...
axis1.4 使用笔记(1) -
nannan408:
ByteArrayOutputStream b ...
java clone方法的使用
题目比较基础,不是很难,但也有很多需要注意的地方,先看题目吧:
1.找出目录中最大的文件。(目录中可能会有子目录)
2.有两个大小分别为m,nL的容器,如何获得xL的水?
package others; import java.io.File; import java.io.ObjectInputStream.GetField; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; //找出目录中最大的文件 public class FileManager { Map<String,Long> fileMap=new HashMap();//保存文件的路径及对应的文件大小 public void getMaxSizeFile(String path){ File file=new File(path); if(file.isDirectory()){ bianli(file);//通过遍历把文件路径及对应大小保存到fileMap中 }else System.out.println("the path should be a directory!"); Long maxSize=0L;//文件最大值 List result=new ArrayList();//保存结果 ,最大的文件可能不止一个 for(Iterator it=fileMap.entrySet().iterator();it.hasNext();){ Entry en=(Entry) it.next(); Long size=(Long) en.getValue(); if(size>=maxSize){ if(size!=maxSize)result.clear();; maxSize=size; result.add(en.getKey()); } } for(Iterator it=result.iterator();it.hasNext();) System.out.println(it.next()); } private void bianli(File file) { // TODO Auto-generated method stub File[] files=file.listFiles(); if(files==null)return; for(File f:files){ if(f.isDirectory())bianli(f); else { fileMap.put(f.getAbsolutePath(), f.length()); } } } public static void main(String[] args) { // TODO Auto-generated method stub FileManager manager=new FileManager(); long start=System.currentTimeMillis(); manager.getMaxSizeFile("C:\\"); System.out.println("花费:"+(System.currentTimeMillis()-start)); } }
第一种思路是用一个map先把所有的文件名和大小保存起来,再从中找最大值,写的过程中就想到可以不用map,直接用一个中间变量保存最大值,效率会高些。但最后测试的结果表示,效率并没提高多少,当然空间肯定是节省了。
package others; import java.io.File; import java.io.ObjectInputStream.GetField; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; //找出目录中最大的文件 public class FileManager2 { Long max=0L; ArrayList result=new ArrayList(); public void getMaxSizeFile(String path){ File file=new File(path); if(file.isDirectory()){ bianli(file);//通过遍历把文件路径及对应大小保存到fileMap中 }else System.out.println("the path should be a directory!"); for(Iterator it=result.iterator();it.hasNext();) System.out.println(it.next()); } private void bianli(File file) { // TODO Auto-generated method stub File[] files=file.listFiles(); if(files==null)return; for(File f:files){ if(f.isDirectory())bianli(f); else { if(f.length()>max){ max=f.length(); result.clear(); result.add(f.getAbsolutePath()); }else if(f.length()==max)result.add(f.getAbsolutePath()); } } } public static void main(String[] args) { // TODO Auto-generated method stub FileManager manager=new FileManager(); long start=System.currentTimeMillis(); manager.getMaxSizeFile("C:\\"); System.out.println("花费:"+(System.currentTimeMillis()-start)); } }
第二题有很多需要注意的地方,可以看注释
package others; /** * 有两个大小分别为m,nL的容器,如何获得xL的水? 如4,3 2 */ public class WaterTest { private int i=1;//倒水次数记数 public boolean doWater(int m, int n, int x) { int left, right; if (x > m + n || (m == n && m != x)) { System.out.println("can't get " + x + "L water"); return false; } left = m;// M杯剩余水量 System.out.println(i+++":M杯倒满:" + m + "L水"); if (left == x) return true; right = n;// N杯空余空间 while (right > 0) { left = m - right;// 左边还剩多少水 System.out.println(i+++":从M杯倒" + right + "L水到N杯中,最后M杯中剩" + left + "L水"); if (left == x) return true; while (left > right) { System.out.println(i+++":把N杯中的水全问倒掉"); right = n; System.out.println(i+++":把M杯中剩下的" + left + "L水倒满N杯,M杯中还剩余水" + (left - n) + "L"); left = left - n; if (left == x) return true; } System.out.println(i+++":把N杯中的水全问倒掉"); right = n - left; System.out.println(i+++":把M杯中剩下的" + left + "L水倒到N杯中,N杯剩余空间" + right + "L"); left = m; System.out.println(i+++":M杯倒满:"+m+"L水"); // right=left<right?n-left:left-n;//右边还剩多少空间 if (n == (right + x)) return true; } return false; } public static void main(String[] args) { // 10,4,3 false // 4,3,2 true // 20,3,2 true //20,7,5 true WaterTest test=new WaterTest(); if (test.doWater(20,7,5)) { System.out.println("胜利完成!"); } else System.out.println("不能实现!"); } }
发表评论
-
求两数的最大公约数
2010-10-22 16:38 1194来源:编程之美2.7 问题:求两数的最大公约数 //求两个 ... -
1的数目
2010-10-22 14:23 861来源:编程之美2.4 题目:给定一个十进制正整数N,写下从1 ... -
寻找发帖“水王”
2010-10-22 13:28 1755来源:编程之美2.3 题目:该"水王"发 ... -
不要被阶乘吓倒
2010-10-22 11:40 1119来源:编程之美 2.2 题目:1.给定一个整数N,求N!末尾 ... -
Hibernate中HQL语句的一般写法
2010-07-14 15:02 1106这两天写了不少HQL语句,总结起来都是四步,在这四步的基础上加 ... -
java排序算法自己总结版本
2010-05-26 20:20 967差不多开始要找工作了,因此今天特意对排序算法进行了复习, ... -
Eclipse客户端程序中多线程的使用
2010-03-10 16:14 876Eclipse作为一个 ... -
java clone方法的使用
2010-01-20 13:59 1617这几天在编程的过程中突然发现自己对java的参数传递 ... -
字符串匹配算法学习
2009-12-21 21:13 9671.KMP算法 http://hi.baidu.com/ne ... -
java中判断一个字符串是否是一个整数的几个方法
2009-12-06 14:07 87281.使用类型转换判断 try { String st ... -
Java集合的Stack、Queue、Map的遍历
2009-12-05 14:58 3477一、Map的遍历 import java.util.Hash ... -
数组和列表之间的转换
2009-12-05 14:42 1732常用到,所以总结下,都是以字符串数组为例: 1.数组转换成列 ... -
List中toArray()方法要注意的地方
2009-12-03 15:51 2261今天为了把一个ArrayList直接转化为一个String数组 ... -
java字符串处理的一些总结
2009-11-19 10:49 12061.字符串首字母大写: String str = &qu ... -
爬虫种子
2009-11-14 10:44 1383最近几天用来爬虫的种子: http://www.webser ... -
java中集合类的使用
2009-09-28 15:32 714以下是几个与java中集合的使用相关的文章: 1.http: ... -
Java中删除目录和目录下所有文件
2009-09-13 10:43 1175public void del(String filepath ... -
Java中static、final用法小结
2009-09-11 17:50 1545一、final 1.final变量: ... -
常用的一些名字空间
2009-07-18 10:41 812xmlns:SOAP-ENV="http://sch ... -
Map.Entry的使用
2009-06-16 12:29 955你是否已经对每次从Ma ...
相关推荐
软件开发实习笔试题 以下是对给定文件信息的详细解释和知识点总结: 时间复杂度 时间复杂度是衡量算法性能的一个重要指标,它是指算法的执行时间与输入规模之间的关系。常见的时间复杂度有O(1)、O(logn)、O(n)、O...
用友,作为中国领先的ERP(企业资源规划)软件和服务提供商,其笔试环节通常涉及计算机基础知识、数据库管理、财务会计、管理信息系统等多个领域。2013年的用友笔试题,旨在考察应聘者的综合素质,特别是与IT技术和...
总的来说,【用友校园招聘笔试题】旨在全面评估应聘者的Java技术功底和问题解决能力,不仅要求理论知识扎实,还需要具备一定的实战经验。通过这样的笔试,企业能够筛选出符合需求的技术人才,为公司的软件开发团队...
根据提供的文件信息,以下是关于JAVA和...通过上述内容,可以了解JAVA编程及SQL数据库操作的核心概念,这些知识点对于通过NC用友软件工程师笔试题是必不可少的。理解并应用这些知识点是成为一名优秀软件工程师的基础。
【用友笔试题】涉及到的是IT领域的面试及笔试常见知识点,涵盖了Web开发、XML解析、Java中间件技术、设计模式、数据库操作以及企业级Java应用的相关概念。下面将逐一详细阐述这些知识点: 1. **Web中的forward和...
用友软件公司笔试题B卷 本资源摘要信息涵盖了C#程序设计的多个方面,包括面向对象编程、ADO.net、数据访问、ASP.NET、修饰符、SQL语句、递归算法等知识点。 一、面向对象编程 1. 面向对象语言具有封装性、继承性...
- **问题解答**:提前准备常见的Java面试题,如八大排序算法、设计模式等,同时对用友NC的特性和功能有所了解。 - **技术趋势**:关注Java的新特性,如Java 8以后的Lambda表达式、Stream API,以及如何在用友NC中...
实施顾问笔试题,挺不错的,推荐大家看看 希望对大家有所帮助
JAVA软件工程师笔试题涵盖了许多Java基础、性能优化、系统分析设计、软件工程、数据库理论以及智力题等多个方面。以下是对这些知识点的详细说明: 1. **Interface与Abstract Class的区别**: - 接口(Interface)...
大数据面试笔试资料-56家互联网大公司面试笔试题资料整理汇总: hive面试.doc 京东.jpg 笔试题1.docx 笔试题10.jpg 笔试题11.JPG 笔试题12_搜狐 笔试题13_九章云极科技有限公司 笔试题14_北京东方国信科技股份有限...
【用友软件面试题】是针对用友软件公司招聘过程中的技术面试环节的题目,主要涉及计算机编程基础知识,包括面向对象特性、接口、访问修饰符、SQL查询、数据处理及面向对象编程概念等。以下是对这些知识点的详细解释...
根据题目中的描述,本套练习题主要围绕用友ERP-U8软件展开,重点考察考生对总账、固定资产以及报表处理的能力。首先,我们需要了解用友ERP-U8软件的运行环境。 **知识点1:操作系统与数据库配置** - **WindowsXP + ...
【知识点详解】 ...这些题目涵盖了Java基础、并发编程、XML解析、数据库、面向对象编程、软件工程等多个领域,是IT面试和笔试中常见的知识点。通过理解和掌握这些知识,可以提高在IT行业中的竞争力。
用友软件T1批发零售版演示.ppt文件。
- JMS(Java Messaging Service)是Java的消息服务标准,支持点对点和发布/订阅两种消息模型,用于异步通信。 - JTA(Java Transaction API)提供了分布式事务处理能力,让J2EE应用可以跨越多个资源进行事务管理。...
【用友软件维护】是企业信息化管理中必不可少的一环,主要涉及到的问题涵盖了系统的日常操作、问题排查和系统优化等多个方面。以下是对用友财务软件常见问题的详细解答: 1. **系统管理员(Admin)口令丢失**:在...