- 浏览: 467723 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (272)
- java基础 (59)
- struts (8)
- spring (8)
- 数据库 (8)
- java 网络编程 (29)
- hibernate (3)
- JavaScript (10)
- 日志管理 (2)
- jsp (4)
- servlet (7)
- xml (4)
- ajax (2)
- web service (4)
- 算法与数据结构 (13)
- java 反射机制 (11)
- java 泛型 (3)
- java I/O (8)
- java 线程 (12)
- JavaEE (6)
- java解惑 (33)
- 工具 (5)
- MyEclipse编程实践 (1)
- OSGI (2)
- 设计模式 (9)
- 正则表达式 (0)
- EJB (3)
- Ubuntu linux (6)
- Android (1)
- web前端 (2)
- 找工作 (1)
- SCA (1)
- maven (1)
- 缓存 (1)
- json (1)
- javamail (1)
- 工作笔记 (2)
最新评论
-
霜花似雪:
博主可以分享一下源码吗?
使用maven构建web项目实例 -
王庆波-行:
很好的demo!
memcache使用实例 -
surpassno:
大写的牛逼
java可视化显示内存使用情况 -
zhulin0504:
怎么访问NetEcho.html页面呀???
applet与servlet的网络通信 -
springdata:
java多线程实例demo源代码下载:http://www.z ...
java多线程例子
1,斐波拉契数列的计算
2,找出一个字符串中出现次数最多的字符
3,输出一个数字字符串的组合,数字无重复情况
package chapter9; import java.util.Scanner; public class Fibonacci { private static int k=0; public static void main(String[] args) { //递归求菲波那契数列,f1=1,f2=1 Scanner ci = new Scanner(System.in); long a = ci.nextLong(); System.out.println(fibonacci(a)); System.out.println("共调用了"+k+"次"); } private static long fibonacci(long a) { if(a==0||a==1) { k++; return a; } else return fibonacci(a-1)+fibonacci(a-2); } }
2,找出一个字符串中出现次数最多的字符
package chapter9; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.TreeSet; public class FindMaxAppear {// 求一个字符串中出现次数最多的那个字母及次数 public static void main(String[] args) { String input = "abcabbbbbbkgllllslll"; doString(input); //方法二:简单易行 char[] a= input.toCharArray(); int[] count = new int[127]; //ASCII码字符最多为127个 for(int i=0;i<a.length;i++){ count[a[i]]++; //字符为a[i]的出现次数++ } //找出count中最大值,如果有多个就算多个 int maxCount = 0; char maxValue;//出现次数最多的字符 StringBuffer sb = new StringBuffer(); for(int i=0;i<count.length;i++){ if(count[i]>maxCount)maxCount=count[i]; } for(int i=0;i<count.length;i++){ if(count[i]==maxCount){ maxValue = (char) i; sb.append(maxValue+","); } } System.out.println("出现次数最多的字符有:"+sb+"出现次数为:"+maxCount); //方法二 } private static void doString(String input) { char[] chars = input.toCharArray(); List<String> list = new ArrayList<String>(); TreeSet<String> set = new TreeSet<String>(); // 对插入到的元素进行自然排序 for (int i = 0; i < chars.length; i++) { list.add(String.valueOf(chars[i])); set.add(String.valueOf(chars[i])); // 添加了字母,而且没有重复的。 } Collections.sort(list);// 对list进行排序 StringBuffer sb = new StringBuffer(); for (int i = 0; i < list.size(); i++) { sb.append(list.get(i)); } input = sb.toString();// input已经是排好序的 int max = 0; // 字符数最多的个数 String maxString = ""; List<String> maxList = new ArrayList<String>(); // 字符数最多的可能有多个,如同时有4个a和b,而且最多 Iterator<String> it = set.iterator(); while (it.hasNext()) { String current = it.next(); int begin = input.indexOf(current); int end = input.lastIndexOf(current); int value = end - begin + 1; // 字符current出现过value次 if (value > max) { max = value; maxString = current; maxList.add(current); } else if (value == max) { maxList.add(current); } } // while循环结束后,maxString存放的就是出现次数最多的字符,max为出现最多的次数 int index = 0; for (int i = 0; i < maxList.size(); i++) { //找到maxString的下标,则maxList之后添加的可能是maxString,之前肯定不是出现次数最多的,否则 if (maxList.get(i).equals(maxString)) { index = i; break; } } System.out.println("出现最多的字符分别为:"); for (int i = index; i < maxList.size(); i++) { System.out.println(maxList.get(i) + " "); } System.out.println(); System.out.println("出现最多的次数为:" + max); } }
3,输出一个数字字符串的组合,数字无重复情况
package chapter9; import java.util.Arrays; import java.util.LinkedList; import java.util.List; public class ListAllNum { //列出数组中的所有数的组合,前提是没有重复数字 public static void main(String[] args) { String[] str = {"1","2","3","4"}; listAll(Arrays.asList(str),""); } private static void listAll(List<String> asList, String prefix) { System.out.println(prefix); for(int i=0;i<asList.size();i++){ List<String> temp = new LinkedList(asList);//构造包含asList中元素的链表 listAll(temp,prefix+temp.remove(i)); } } }
发表评论
-
java Romdom例子
2011-06-16 16:41 1890random.netInt()如果括号里 ... -
java 内部类详解(转)
2011-06-01 15:47 4965Java 内部类 分四种:成员内部类、局部内部类、静态内部类和 ... -
java中的System类中的方法
2011-05-24 11:00 997public final class System exten ... -
java可视化显示内存使用情况
2011-05-20 16:03 2592package memoryManage; /* * ... -
java 界面swing之表格
2011-05-20 13:39 6531package othertest; import ja ... -
java的队列和栈的一些api
2011-05-16 11:31 1695类 Stack<E> java.lang.Obje ... -
JAVA 中一些api(字符字符串缓冲,URL类,Math类方法,正则表达式)
2011-05-12 10:36 1736CharBuffer字符缓冲区, StringBuffer字符 ... -
java applet 一个简单的例子(applet+html)
2011-05-09 16:49 4157java applet是一个类,其层次结构如下图: 类 JAp ... -
java 核心技术(数组(杨辉三角),散列码,对象拷贝,枚举类型,定时器)
2011-05-04 10:43 1562数组java中无多维数组,都是一维数组,多维数组可以看做是数组 ... -
设计模式总结
2011-04-26 16:50 870对于GoF总结的经典的23中设计模式,分为3类: (1)创建型 ... -
猜数字游戏
2011-04-12 17:27 1177package guessNumber; import ... -
Comparator实现排序
2011-04-01 14:13 8652在java.util包中有一个Collections类,里面实 ... -
21天学会java(含电子书下载)
2011-03-15 16:12 253321天学通java 比较基础 第一天 创建简单applicat ... -
理解浮点数存储
2011-03-15 09:44 988整体呈现 二进制浮 ... -
java.lang.UnsatisfiedLinkError解决办法
2011-03-10 16:59 1179实质上就是Eclipse下配置jdk,jre环境的问题 win ... -
java string,stringbuffer区别例子
2011-01-11 14:44 1361public class test_3 { public ... -
java定时器的使用
2011-01-11 09:20 1448有时需要在一定时间段后,执行某一个操作 java中现有的Ti ... -
对象简单克隆clone和引用(转)
2010-12-15 17:02 870对象克隆,返回和原对 ... -
java applet例子---图片像素处理
2010-12-07 17:01 1921package applet; import java. ... -
java applet例子---跟踪图片对象的加载
2010-12-07 16:56 1495用java.awt包中的MediaTracker跟踪一个Ima ...
相关推荐
- 找出得票最多的候选人。 2. **Fibonacci数列问题**: - **基本概念**:Fibonacci数列是一个递增序列,其中每一项都是前两项之和。 - **解题思路**: - 实现一个函数用于生成Fibonacci数列。 - 根据题目要求...
40. 数组中只出现一次的两个数,而其他数都出现两次:可以考虑使用异或运算的性质来找出成对的数字,然后通过异或运算找出只出现一次的数字。 41. 和为s的连续整数序列:可以使用滑动窗口的方法,维护一个窗口区间...
斐波那契数列是一个数列,其中每个数字是前两个数字的和。通常以0和1开始,之后的每一项都是前两项之和。例如:0, 1, 1, 2, 3, 5, 8, 13...。这个练习要求编写一个程序来生成指定数量的斐波那契数。 2. **CS2:正...
- **描述**:斐波那契数列是一系列数字,其中每个数字是前两个数字的和,通常从1和1开始。 - **实现思路**: - 使用循环或递归方法来生成数列。 - 循环方法:初始化前两个数字为1,然后通过循环计算后续数字。 - ...
6. **重新排序得到 2 的幂**:这可能需要对位运算和数论的理解,找出如何通过重新排列数组元素得到一个2的幂。 7. **两数相加**:基础的算术操作,可能涉及大整数加法,尤其是在处理大数据时。 8. **最小好进制**...
2. **斐波那契数列(Fibonacci Sequence)**:斐波那契数列中的每个数字是前两个数字的和,可以使用递归或动态规划方法实现。 3. **巴斯卡三角形(Pascal's Triangle)**:生成每个位置的数字等于其上方两数字之和,...
例如,给定的递归时间函数T(n),需要找出其阶(n的最高次幂)以确定时间复杂度。 3. **单循环赛日程安排**:这是组合优化问题的一个实例,涉及排列和组合的概念。对于n个运动员的单循环赛,需要构造一个满足条件的...
- 找出数组中只出现一次的数字的进阶版。 - **SingleNumberIII** - 找出数组中只出现一次的两个数字。 - **O1CheckPowerof2** - 检查一个数是否为2的幂。 - **ConvertIntegerAtoIntegerB** - 转换两个整数。 - *...
- **Fibonacci数列**:斐波那契数列的定义及性质。 - **Catalan数列**:卡特兰数列的定义及应用。 - **Stirling数**:斯特林数第一类和第二类。 - **差分序列**:求解差分方程的方法。 - **生成函数**:通过函数形式...
- **字符串异位词**:如567题,通过动态规划找出字符串的排列。 7. **回溯算法**: - **N皇后问题**:48题,使用回溯法找到N个皇后放置的所有可能性。 - **括号生成**:22题,通过回溯找到所有有效的括号组合。 ...
它常用于解决求区间最大值/最小值、找出每个元素左侧/右侧第一个比其大的/小的元素等问题。 9. **KMP算法**:KMP(Knuth-Morris-Pratt)是一种字符串匹配算法,能够在主串中高效地查找模式串出现的位置,避免了不必...
12. **动态规划**:解决具有重叠子问题和最优子结构的问题,如斐波那契数列、背包问题等。 13. **贪心算法**:每一步选择当前最优解,但不保证全局最优,如霍夫曼编码、Prim算法等。 14. **图论算法**:包括最短路径...
- **线性齐次递推式的求解:** 如斐波那契数列。 - **非齐次递推关系的解:** 包含额外项的递推关系。 4. **Master Method:** 一种用于分析递归算法时间复杂度的方法,特别适用于分治法相关的算法。 5. **分治...
- 例如,计算斐波那契数列。 **5.3 递推关系求解** - **求解递推关系的常用方法** - 特征根法、迭代法、母函数法等。 - 用于求解线性递推关系式。 - **线性齐次递推式的求解** - 递推式不含独立项的情况。 - ...