`
daisy8564
  • 浏览: 76735 次
  • 性别: 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...

    500道java经典笔试题和标准答案.docx

    根据提供的文档信息,我们可以从中提炼出四个主要的Java编程知识点:斐波那契数列、素数判断、水仙花数以及正整数分解质因数。下面将逐一详细解析这些知识点。 ### 1. 斐波那契数列 #### 知识点概述 斐波那契数列...

    Java算法大全

    【Java算法大全】涵盖了许多经典的算法和数据结构问题,这些知识点在编程学习和实践中非常重要。以下是对其中一些问题和算法的详细解释: 1. **斐波那契数列**:斐波那契数列是这样一个数列:1、1、2、3、5、8、13...

    java基础练习题及答案.pdf

    在准备考试或者学习Java基础知识时,这样的练习题能够帮助我们熟悉语言特性,锻炼逻辑思维,并提高编程技能。同时,解决这些问题的过程也是不断试错和思考的过程,对于提升问题解决能力大有裨益。

    java源码包3

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

    java源码包2

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

    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经典问题算法大全

    - **应用场景**:质因数分解是数学中的基础概念,在算法设计、加密技术等方面有广泛应用。 - **代码实现**:示例代码通过循环寻找最小的质因子,并将其输出,然后继续对剩余部分进行分解,直至分解完成。 ```java ...

    java源码包4

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

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

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

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

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

    JAVA面试题

    ### JAVA面试题知识点详解 #### 一、数据结构基础知识点 **1. 栈和队列的特点** - **栈和队列的共同特点**:两者都只允许在端点处进行插入和删除操作。栈是一种先进后出(First In Last Out, FILO)的数据结构,而...

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

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

    JAVA编程程序设计习题

    在Java代码中,通过循环结构动态计算每一项,f1和f2分别代表斐波那契数列中的前两个数,随着循环的进行,不断更新这两个变量的值。 2. **素数判断**: 程序2用于找出101到200之间的所有素数。素数是大于1且只有1和...

    个人笔记--JAVA基础

    ### 个人笔记--JAVA基础 #### 一、初识Java **1.1. Java语言是什么** Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年发布。它被设计为简单、面向对象、分布式、解释型、健壮、安全、与体系结构...

    编程JAVA题目最新50题

    这些Java程序展示了基础的算法和逻辑思维,包括循环控制、条件判断、数学运算以及输入输出操作。理解并掌握这些基本概念对于学习和提升Java编程能力至关重要。通过编写和调试这些程序,程序员可以增强自己的问题解决...

    Java数据结构和算法

    数组是一种非常基础的数据结构,在Java中,数组是一系列相同类型的变量的集合,可以通过一个共同的名字来访问它们。数组可以是一维的也可以是多维的。 **一维数组** 一维数组是由相同类型的数据元素组成的线性序列...

Global site tag (gtag.js) - Google Analytics