- 浏览: 428611 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (170)
- java (77)
- javascript (5)
- jsp (1)
- servlet (6)
- struts (8)
- hibernate (3)
- spring (4)
- ajax (5)
- jquery (3)
- apache cxf (0)
- ext.js (1)
- hadoop (0)
- android (0)
- html5 (2)
- linux (5)
- flex (1)
- tomcat (1)
- jboss (0)
- nginx (0)
- mysql (16)
- sql server (3)
- oracle (4)
- div+css (0)
- mybatis (4)
- design patterns (22)
- xml (2)
- postgresql (3)
- velocity (1)
- freemarker (1)
- kendo-ui (2)
- ibatis (1)
- socket (1)
- C and C++ (1)
- C# (2)
- 程序设计----算法 (0)
- jersey (1)
- dd (0)
- perl (1)
- shell (0)
最新评论
-
书策稠浊:
兄弟,这tm是Java?
java调用百度地图和谷歌地图 -
fengyunlouyanyu:
jquery----删除指定id的div下的img -
yangjianzhouctgu:
Neoman 写道hi,我看你引入了kendo.web.min ...
kendo-ui中kendoGrid的用法 -
Neoman:
hi,我看你引入了kendo.web.min.js 这个js, ...
kendo-ui中kendoGrid的用法 -
yangjianzhouctgu:
llscp 写道这是JS吧...对的呀
java调用百度地图和谷歌地图
ArrayRiddle.java代码如下:
运行结果如下:
package com.interview.algorithm; /** * 使用String 数组,并返回互为字谜最长的单词组. * 互为字谜:例如:stale和least * 解决方案: * 1.首先按照数组中单词长度进行排序 * 2.从头到尾比较两个相邻的字符是否互为字谜 * @author yangjianzhou * */ public class ArrayRiddle { public static void main(String[] args) { String [] strArr = {"123","231","2","1","asdde","12345","sddae","Dasdasdqwe","wdasdqwed"}; stringArrInsertionSort(strArr); int index = getIndex(strArr); if(index >-1){ System.out.println(strArr[index]); System.out.println(strArr[index+1]); } } /** * 对字符串中字符进行排序,最后得到排序后的字符串 * @param str * @return */ private static String insertionSort(String str){ char [] target = str.toCharArray(); for(int i=1;i<target.length;i++){ char temp = target[i]; int j = i; for(;j>0&&temp<target[j-1];j--){ target[j] = target[j-1]; } target[j] = temp; } return String.valueOf(target); } /** * 对数组进行排序 * 排序规则是: * 1.长度小的在前面 * 2.字符ASCII小的在前面 * @param strArr */ private static void stringArrInsertionSort(String[] strArr){ for(int i=1;i<strArr.length;i++){ String temp = strArr[i]; int j = i; for(;j>0&&(compare(temp,strArr[j-1])==-1);j--){ strArr[j] = strArr[j-1]; } strArr[j] = temp; } } /** * 得到互为字谜的第一个单词的索引 * @param strArr * @return */ private static int getIndex(String[] strArr){ int index = -1; for(int i=0;i<strArr.length-1;i++){ if(strArr[i].length()!=strArr[i+1].length()){ continue; }else{ String str1 = insertionSort(strArr[i]); String str2 = insertionSort(strArr[i+1]); if(str1.equals(str2)){ index = i; } } } return index ; } /** * 比较两个字符串 * 1.小的返回-1 * 2.相等的返回0 * 3.大的返回1 * @param str1 * @param str2 * @return */ private static int compare(String str1,String str2){ if(str1.length()<str2.length()){ return -1; }else if(str1.length()>str2.length()){ return 1; }else{ String temp1 = insertionSort(str1); String temp2 = insertionSort(str2); char [] c1 = temp1.toCharArray(); char [] c2 = temp2.toCharArray(); for(int i=0;i<c1.length;i++){ if(c1[i]<c2[i]){ return -1; } } return 0; } } }
运行结果如下:
asdde sddae
发表评论
-
spring boot应用测试框架介绍
2018-07-19 14:44 751个人原创博客:spring boot应用测试框架介绍 -
可执行jar包的配置与运行
2017-06-04 19:42 1007spring boot项目可以以jar包的形式执行运行。s ... -
多线程并发
2016-05-21 23:49 0Splitter.on('|').trimResults(). ... -
jdk动态代理实现原理
2016-05-09 23:12 773jdk的动态代理即使用反射来实现,具体由Proxy、Invoc ... -
spring常见注解
2016-05-01 23:33 12321.Autowired 通过spring的依赖注入功能来 ... -
spring常见配置作用
2016-04-29 23:08 933一般应用中常见spring的 ... -
数据来自两个系统时的内存分页算法
2016-04-24 23:12 842业务数据来自a-app与b-app,其中a-app中数据的业务 ... -
linux下java web开发环境搭建
2016-04-10 14:09 1134一般的java web开发涉及到的开发工具有:jdk、tomc ... -
linux下md5sum和DigestUtils.md5Hex的关系
2015-12-19 22:30 8520本文对linux下md5sum命令和java中DigestUt ... -
基于jersey的web service
2015-11-22 22:55 1007本文是基于jersey的web service 的两个小例子, ... -
面试总结----spring
2015-05-19 22:17 911spring在面试中经常被 ... -
面试总结----多线程
2015-05-18 22:10 897面试过程中,多线程被问到的概率非常大,差不多都会问的。 下面 ... -
面试总结----java虚拟机
2015-05-17 23:20 741在面试过程中,java虚拟机被问到的概率非常大,应该是每场面试 ... -
面试总结----java集合
2015-05-17 11:57 676春节刚过,打算换一份工作,于是就开始了一段准备面试的生活,准备 ... -
json串与对象之间转换的几种实现方式
2015-01-24 18:56 1878这里使用了gson,fastjson,jackson,json ... -
google关于事件的生产者消费者模式实现例子
2015-01-24 11:28 976google使用生产者/消费者模式实现了事件的产生传播处理过程 ... -
图形化显示---冒泡排序
2014-12-05 22:17 917代码: package com.thread.singal ... -
多线程----wait/notify
2014-11-06 22:06 686线程同步:两个线程依次对同一变量进行操作。 packag ... -
多线程-----阻塞队列
2014-11-05 22:43 850使用一个线程将一个指定目录下面的所有文件放在一个阻塞队列中,用 ... -
迷宫的最短路径
2014-08-19 00:31 3763代码如下: package com.chapterO ...
相关推荐
标题提到“需筛选出A列的重复记录 且 B列互为相反数”,这显然是一个数据分析任务,主要目标是找出A列中有重复值的行,同时这些行的B列数值必须是一对相反数。下面将详细解释这个过程以及如何在Excel中实现这一操作...
商场10KV双电源互为备用电气原理图 商场10KV双电源互为备用电气原理图 商场10KV双电源互为备用电气原理图
gRPC中Java和node进行异构通信-互为客户端和服务端示例代码.rar;gRPC中Java和node进行异构通信-互为客户端和服务端示例代码.rar;gRPC中Java和node进行异构通信-互为客户端和服务端示例代码.rar
在IT行业中,字谜(Anagram)是一种语言游戏,它涉及将一个单词或短语的字母重新排列以形成新的单词或短语。"AnagramChecker"是一个程序,它使用字典(在这里指的是数据结构,而非操作系统中的字典文件)来检测两个...
这个程序能帮助用户快速发现一组单词中哪些可以互为字谜。 【描述】程序的核心功能在于其能够高效地处理大量的单词数据,通过比较每个单词的字母组成来找出潜在的字谜对。为了使用这个程序,用户需要将现有的`...
"两种教学媒体互为补充,相得益彰"这一观点强调了多媒体计算机与传统教学媒体之间的协同作用,而非简单的替代关系。这两种教学方式各自拥有独特的优势,只有合理地结合使用,才能最大化地提升教学质量。 多媒体...
### 高中历史之历史百科课堂教学研究:理论实践相结合教学要素互为依存互为制约素材 #### 一、引言 在当前教育改革的大背景下,如何提高课堂教学的有效性和针对性,已经成为广大教育工作者关注的焦点问题之一。...
在编程领域,我们可以设计一个系统,接受用户输入的两个单词,然后判断这两个单词是否是互为字谜,即它们由相同的字母组成,但顺序不同。 Google App Engine是Google提供的一个平台即服务(PaaS)产品,允许开发者...
有利于搞毕业设计星—三角降压起动控制电路的工作原理 星型-三角形降压启动,即电动机启动时,定子绕组按星型连接,每相绕组的电压降为三角星连接的,启动电流为三角形接法的1/3,在启动即将结束时再换成三角形
【房地产企业组织结构新形势——互为客户式组织结构】 在当今房地产行业中,企业组织结构的创新已成为推动企业发展的关键因素之一。互为客户式企业组织结构,是近年来针对房地产业特点和市场需求提出的一种新型管理...
【房地产企业组织结构新形势——互为客户式企业组织结构】 随着房地产行业的发展,中国的房地产企业规模逐渐分化,规模化成为行业发展趋势。面对利润丰厚的市场,各领域资本纷纷涌入,导致企业组织结构呈现出多样化...
标题和描述中的知识点聚焦于如何在单块硬盘上安装并管理Windows XP与Windows 7两个操作系统的互为隐藏,这不仅涉及到系统安装技术,还深入到了启动管理、分区管理及多系统共存策略。以下是对这些知识点的详细解析: ...
利用VB编写的域名与IP的查询器 可以互为查询,只要输入正确的域名,就可以查询出对应的IP地址,也可以输入对应的IP,可以查询出相对应的域名
《数字赋能营销管理系统 互为体用z1223.pptx
出版业与互联网的融合需互为助力共同发展.docx
新能源汽车:运营创新和技术创新互为促进.pdf
将单词1中的所有字符逐个到单词2中检查是否存在对应字符,存在就标记 实现:将词2中存在的对应字符设置None,由于字符串是不可变类型,需要先将词2字符复制到列表中 时间复杂度:O(n^2) def anagramSolution1(s1,s2...
本工程实现了内部集成了四个工程,实现了gsoap与WCF互为客户端和服务端进行通信,即实现了gsoap做客户端与gsoap或WCF作服务端的通信、WCF作客户端与gsoap或WCF作服务端的通信,工程接口简洁,易于移植,欢迎下载交流...