`
daisy8564
  • 浏览: 75341 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

java 基础算法题(更新中……)

阅读更多
1.请给出一个单链表结构的定义,每个节点用来储存一个整型数,并且给出一段代码来合并两个已经按照该整数从小到大排好序的链表,使得合并后的链表也是同样排好序的。
2.数组中存在N个数,要求用JAVA实现这样的效果
比如: 数组内容: 1 2 12 13 23 25 35 38 365 
 
要求实现这样的效果:  

12 
13 
 

23 
25 
 
35 
38 
365

String[] original = { "1", "2", "12", "13", "23", "25", "35", "38","365" };
ArrayList<String> list = new ArrayList<String>();
char listfirst;
char listSecond;
// 按照字符串排序
for (int i = 0; i < original.length; i++) {
      list.add(original[i]);
}
Collections.sort(list);
for (int j = 0; j < list.size(); j++) {
      System.out.println(list.get(j));
      listfirst = ((String) list.get(j)).charAt(0);
      if (j + 1 < list.size()) {
	   listSecond = ((String) list.get(j + 1)).charAt(0);
	   if (listfirst != listSecond) {
	          System.out.println();
	    }
      }
}

3.有五个自然数,每个数都不相同,和是23。这五个数中某几个数的和,能表示1--23中任意的一个数。请列出这五个数的可能的组合。

4.现有一百层高楼和两个棋子,棋子从X层上掉落摔到地面刚好摔碎(即X层以下是摔不碎的)
请问至少需要多少次摔棋子试验就一定能够找到X层是第几层?(棋子摔碎了就不能再用了)
5.求一组数中第二大的元素,要求从效率上考虑。
6.有n个水桶,组成一个环,相邻两个有水管连接, 水管中间有阀门,都关上。
   初始条件是:水桶有水,深度不一,保存在数组a[n]里面。
   问:设计算法,针对具体的a[n],使得打开阀门最少情况下,水桶深度相同。
   时间复杂度 <O(n^2),最佳是o(N).
7.有N个人买可乐,每5空瓶送1瓶,问共需要买多少瓶?
int n = 31;
int drinked = 0;//喝到可乐的人数
int i = 1;
int bottles = 0;//买的可乐瓶数
int left = 0;
int modLeft = 0;//最后剩下的人数
if (n <= 5) {
    bottles = n;
} else {
         while (true) {
		bottles += 5;
		drinked += 6;
		while (i / 5 >= 1) {
		      drinked = drinked + i / 5;
		      i = i / 5;
		}
		left = n - drinked;
		modLeft = left / 5;
		if (modLeft == 0) {
			bottles += modLeft;
			if(drinked != n){
			bottles += n-drinked;
		}
		break;
		}
		i++;
		}
	}
System.out.println("We need " + bottles + "bottles");

8.设计一个长方形类,成员变量包括长和宽。类中有计算面积和周长的方法,并有相应的set方法和get方法设置和获得长和宽。编写测试类测试是否达到预定功能。要求使用自定义的包。

9.JAVA编程题:字符串"yekmaakkccekymbvb",求出字符串中有多少种字符?
Set set = new HashSet();
String s1 = "yekmaakkccekymbvb";
String blank = "";
char c;
for(int i=0; i<s1.length(); i++){
     c = s1.charAt(i);
     System.out.println(c);
     set.add(blank+c);
}
System.out.println(set.size());

10.一个文本文件中约有10万多行的数据,每个数据占一行(数据为一个整数)。要求:统计出总行数,并找出出现次数最多的那个整数。
11.给你一组字符串如:iu7i8hy4jnb2,让你编程输出里面的数字:7842
String   s   =   "iu7i8hy4jnb2";   
String newStr = s.replaceAll("[a-z]", "");   
System.out.println(newStr);  

12.给你一组字符串让你把它倒叙输出
public static String reverseStr(String str){   
   StringBuffer sb = new StringBuffer(str);   
   sb.reverse();   
   return sb.toString();   
}  

12.求完全数
public static boolean isPerfectNumber(int num){   
   int total = 0;   
   for(int i=1;i<=num/2;i++){   
    if(num%i==0)total+=i;   
   }   
   if(total == num)   
    return true;   
   return false;   
}  

13.显示某一文件目录下的文件名
/*  
* 就是一个递归处理文件夹嵌套  
*/  
public static void listAllFile(File f){   
   if(f.isFile()){   
    System.out.println(f.getAbsolutePath());   
   }else if(f.isDirectory()){   
    File[] fl = f.listFiles();   
    for(File ff:fl){   
     if(ff.isFile()){   
      System.out.println(ff.getAbsolutePath());   
     }else if(ff.isDirectory()){   
      listAllFile(ff);   
     }   
    }   
      
   }   
}  

14.将54张牌1~54随机分发到数组
public class PlayCard {   
  
  
public static void main(String[] args) {   
   final int CART_ARRAY_LEN = 54;   
   int[] carts = new int[CART_ARRAY_LEN];   
   for(int i=0;i<CART_ARRAY_LEN;i++){   
    carts[i]=i+1;   
   }   
   for (int i = 0; i <CART_ARRAY_LEN ; i++) {   
    int rdmNum1 = (int) (Math.random() * 54);   
    int rdmNum2 = (int) (Math.random() * 54);   
    int temp = carts[rdmNum1];   
    carts[rdmNum1] = carts[rdmNum2];   
    carts[rdmNum2] = temp;   
   }   
   for(int i=0;i<CART_ARRAY_LEN;i++){   
    System.out.println(carts[i]);   
   }   
}   
  
}  

15.定义一串字母的字符串,求出现最多的那个字母,出现了多少次!
public class Test {   
    public static void main(String[] args) {   
        String str = "dsfdsfsdfsdf";   
        Map<Character,Integer> d = new HashMap<Character, Integer>();   
        for(int i = 0;i<str.length();i++){   
            char c = str.charAt(i);   
            if(d.containsKey(c)){   
                d.put(c, d.get(c)+1);   
            }   
            else{   
                d.put(c, 1);   
            }   
        }   
        System.out.println(d);   
    }   
       
}  
分享到:
评论

相关推荐

    Java常用算法手册源代码

    算法基础篇 **章 算法和实现算法的Java语法 1.1 建立算法初步概念 1.1.1 什么是算法 1.1.2 算法的发展历史 1.1.3 算法的分类 1.2 算法相关概念的区别 1.2.1 算法与公式的关系 1.2.2 算法与程序的关系 1.2.3 算法与...

    java源码包---java 源码 大量 实例

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    java源码包2

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    java源码包4

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    JAVA上百实例源码以及开源项目源代码

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    java源码包3

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    JAVA上百实例源码以及开源项目

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    Java语言实用教程

    正规java语言教材,大学教材,java基础,带习题巩固Java语言以其完全面向对象、简单高教、与平台无关等突出的特点,已经逐渐成为程序设计的首选语言。 本书共12章,从程序设计方法讲起,详细介绍了Java开发环境、...

    android连连看毕业论文

    第2章 基础知识与开发技术………………………………………………………………….…...6 2.1 Android技术简介………………………………………………………………..…………….6 2.1.1 Android 基本知识………………...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...

    JAVA面试题整理.pdf

    面试题集共分为以下十部分: 一、 Core Java : 基础及语法: 异常: 集合: ...八、数据结构 & 算法 & 计算机基础: 九、 C++ : 十、 Weblogic 及其它 ( 附加部分 ) ……………… 面试比较全面的题集

    数据结构与算法(JAVA语言版)

    数据结构与算法(JAVA语言版) java与面向对象设计 数据结构与算法基础 线性表 栈与队列 …… 共9章全

    重磅-史上最全的Java面试文档总结(jvm,mybatis,mysql优化算法)等总结文档大合集(300份).zip

    Java基础面试题 JVM面试专题及答案 Kafka面试专题及答案 Linux面试专题及答案 memcached面试专题及答案 MongoDB面试专题及答案 MyBatis面试专题及答案 MySQL55题及答案 mysql面试专题及答案 MySQL性能优化的21个最佳...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...

    高级java笔试题-xiongfan:xiongfan

    高级java笔试题 感谢大家的关注与支持,最近工作上比较忙,一直没有抽出时间来更新~ 8月份终于赶在最后几天把性能优化补全了,结构方面还会再优化一下。然后这个月,也就是9月份开始着手第三方框架的内容,10月底前...

    高级java笔试题-YCBlogs:技术博客笔记大汇总【15年10月到至今】,包括Java基础及深入知识点,Android技术博客,Pytho

    ,包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也在工作之余收集了大量的面试题,长期更新维护并且修正,持续完善……开源的文件是markdown格式的!...

    java后端开发校招资料

    JAVA校招资料。 包括java基础、spring、springmvc、并发编程、计算机网络、计算机组成原理、数据结构与算法、面试经验等。 3分交个朋友……

    practice-exercises:数据结构、算法、脑筋急转弯等……练习基础的代码

    编程实践数据结构、算法、脑筋急转弯等……练习基础知识的代码。

    C++基础,很好的本人用的很好,不错的,下下不费时间

    1.1 C++语言简介 1.1.1 ...………………………………………………………………………………………………………………………………………………………………………………………………………………………………6666666

Global site tag (gtag.js) - Google Analytics