java
良言相告
不断学习
展开
-
全排列的简单实现
昨天一位网友问我全排列的写法,记得以前看过一篇用“旋转法”进行排列的算法。久没碰这些东西了,早已是忘得一干二净。只好用以前用C写过的算法来了。在C中用数组实现,为求编码速度,用字符串代替,并有很大的局限性,比如串中的字符要求两两不等。算法其实很简单,求n位的,其实就是在n中任取一位,其后跟上剩下(n-1)位的全排列。代码如下:public class Main ...{ // 要排列原创 2008-03-06 10:16:00 · 907 阅读 · 0 评论 -
局域网的IP正则表达式
项目背景:一个Web项目,Tomcat5.5服务器,该项目可以说分两个部分,估且说为A和B今天早上接到一个很奇怪的需求变动,要求对上面的这个项目进行改动,简单地说,A这部分的网页可以被任何人访问,B这部分仅能被局域网访问。虽然极力反对,虽然在项目中已经对权限进行了较详细的权限控制,虽然费了很大时间进行口水战,上面仍然坚持己见。最早想到的是在Tomcat中进行配置,也确实找到了,但它配置的最小单位原创 2008-04-17 16:01:00 · 5580 阅读 · 1 评论 -
求一个字符中连续出现次数最多的子串
直接按我的思路先看一个例子条件1 字符串A"323213213231312321323213213213213213123213213213232"求:该串中连续次数最多的子串B关键字:连续 次数最多1. 遍历字符串,把相同字符的"位置"存入List中,并将char : List置于Map中 那么上述例子则有: 字符3:[0, 2, 5, 8, 10, 12, 15, 18, 20, 23,原创 2008-05-05 12:53:00 · 1631 阅读 · 0 评论 -
全排列的另一种实现方法:旋转法
基本思路如下(以1234为例):既然说是旋转法,那么它递归的就是旋转旋转的规则如下:全部左移一位,但最左的移到最右1234 -> 2341 -> 3412 -> 4123,4位的旋转完成了吧递归,简单的思路就是从大变小,4位的旋转完成了,就是3位的旋转了,大概过程如下表格 四位的旋转 第一位不动 后三位的旋转 前两位不动 后二位的旋转原创 2008-08-22 15:47:00 · 1765 阅读 · 1 评论 -
Java 用单链表实现多项式加减乘
用单链表来实现多项式的加减乘,除就不做了,代码如下public class Polynomial { private Monomial first; // 首项 //添加单项式 public void append(Monomial monomial) { if (monomial == null) { // do nothing原创 2008-10-14 11:19:00 · 4071 阅读 · 0 评论 -
JAVA程序的远程调试
以前是进行WEB开发, MyEclipse+Tomcat可以直接进行远程调试, 相当方便. 现在进行别的开发, 经常要把程序部署到服务器上. 如果出了错, 每次都只能查看日志, 然后在本地上开启程序调试. 相当地不方便, 有些因为环境造成的错误就只能靠: 猜测-->本机修改-->修改-->出错-->看日志-->猜测..... 今天找了下相关资料, 并简单测试, 原来JDK中的JPD原创 2009-08-05 20:27:00 · 997 阅读 · 0 评论