当前位置: 首页 > news >正文

静态双语企业网站后台源码海外贸易平台有哪些

静态双语企业网站后台源码,海外贸易平台有哪些,wordpress个人博客带会员,做网站一定要会ps么题目部分 题目计算最大乘积难度易题目说明给定一个元素类型为小写字符串的数组#xff0c;请计算两个没有相同字符的元素长度乘积的最大值。 如果没有符合条件的两个元素#xff0c;返回 0。输入描述输入为一个半角逗号分隔的小写字符串的数组#xff0c;2 数组长度请计算两个没有相同字符的元素长度乘积的最大值。 如果没有符合条件的两个元素返回 0。输入描述输入为一个半角逗号分隔的小写字符串的数组2 数组长度1000 字符串长度 50。输出描述两个没有相同字符的元素长度乘积的最大值。补充说明无------------------------------------------------------示例示例1输入iwdvpbn,hk,iuop,iikd,kadgpf输出14说明数组中有 5 个元素。 iwdvpbn 与 hk 无相同的字符满足条件iwdvpbn 长度为 7hk 长度为 2乘积为 14 7 * 2。 iwdvpbn 与 iuop、iikd、kadgpf 都有相同的字符不满足条件。 iuop 与 iikd、kadgpf 均有相同的字符不满足条件。 iikd 与 kadgpf 有相同的字符不满足条件。 因此输出为 14。 解读与分析 题目解读 给定一个长字符串以 “,” 为间隔符分隔成多个字符串。请从这些字符串中找出两个字符串保证在这两个字符串中不存在相同字符的前提下使两个字符串的长度的乘积最大。 分析与思路 此题的步骤可以分为解析字符串排序、数据初始化、遍历详细说明如下 1. 解析字符串。对输入的字符串以 “,” 为间隔符把它们解析成多个字符串放到数组 stringArr 中。 2. 对数组 stringArr 排序。排序规则为长度最长的字符串排在最前面。 3. 数据初始化。对已排序的 stringArr统计每个元素字符串所包含的字符放到集合中计算字符串的长度。创建两个数组第一个数组为 charSetArr其第 i 个元素为 stringArr 中第 i 个元素包含的字符结合第二个数组 lengArr其第 i 个元素为 stringArr 中第 i 个元素的长度。 4. 遍历。 1)  初始化乘积设为 maxProduct初始值 0。 2)  两两比较字符串。把字符串 stringArr[0] 分别与 stringArr[1]、stringArr[2] …… stringArr[n -1] 进行比较之后把字符串 stringArr[1] 分别与 stringArr[2]、stringArr[3] …… stringArr[n -1] 比较。 比较规则是在比较时如果不存在交集即charSetArr[0] 与 charSetArr[i] 不存在交集则计算 lengthArr[0] 与 lengthArr[i] 的乘积设为 tmpProduct如果 tmpProduct 大于 maxProduct则把 tmpProduct 赋值个 maxProduct。当找到 charSetArr[0] 与 charSetArr[i] 不存在交集后不再判断 charSetArr[0] 与  其他字符串是否存在交集因为已经不存在乘积比它更大。 此方法的时间复杂度为 O()空间复杂度为O()。 代码实现 Java代码 import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.HashSet; import java.util.Scanner; import java.util.Set;/*** 计算最大乘积* * version 0.1* author Frank**/ public class StringLengthMaxProduct {public static void main(String[] args) {Scanner sc new Scanner(System.in);while (sc.hasNext()) {String input sc.nextLine();processStringLengthMaxProduct( input );}}private static void processStringLengthMaxProduct( String input ){String[] strArr input.split( , );Arrays.sort( strArr, new ComparatorString() {Overridepublic int compare(String o1, String o2) {// 长度最长的排在最前面return o2.length() - o1.length();}});Set[] charSetArr new HashSet[ strArr.length ];int[] lengthArr new int[ strArr.length ];initCharSetInfo( strArr, charSetArr, lengthArr );int ret getMaxProduct( charSetArr, lengthArr );System.out.println( ret );}private static void initCharSetInfo( String[] strArr, Set[] charSetArr,int[] lengthArr ){for( int i 0; i strArr.length; i ){String curStr strArr[i];lengthArr[i] curStr.length();SetCharacter curSet new HashSetCharacter();for( int j 0; j curStr.length(); j ){curSet.add( curStr.charAt( j ) );}charSetArr[i] curSet;}}private static int getMaxProduct( Set[] charSetArr,int[] lengthArr ){int maxProduct 0;int size charSetArr.length;boolean needBreak false;for( int i 0; i size; i ){for( int j i 1; j size; j ){if( ( j i 1 ) ( lengthArr[i] * lengthArr[j] maxProduct ) ){needBreak true;break;}// 包含相同字符if( !Collections.disjoint( charSetArr[i], charSetArr[j])){continue;}int product lengthArr[i] * lengthArr[j];if( product maxProduct){maxProduct product;}break;}if( needBreak ){break;}}return maxProduct;} } JavaScript代码 const rl require(readline).createInterface({ input: process.stdin }); var iter rl[Symbol.asyncIterator](); const readline async () (await iter.next()).value; void async function() {while (line await readline()) {processStringLengthMaxProduct(line);} }();function processStringLengthMaxProduct(input) {var strArr input.split(,);strArr.sort(function(a, b) {return b.length - a.length;});var charSetArr new Array();var lengthArr new Array();initCharSetInfo(strArr, charSetArr, lengthArr);var ret getMaxProduct(charSetArr, lengthArr);console.log(ret); }function initCharSetInfo(strArr, charSetArr, lengthArr) {for (var i 0; i strArr.length; i) {var curStr strArr[i];lengthArr[i] curStr.length;var curSet new Set();for (var j 0; j curStr.length; j) {curSet.add(curStr.charAt(j));}charSetArr[i] curSet;} }function getMaxProduct(charSetArr, lengthArr) {var maxProduct 0;var size charSetArr.length;var needBreak false;for (var i 0; i size; i) {for (var j i 1; j size; j) {if ((j i 1) (lengthArr[i] * lengthArr[j] maxProduct)) {needBreak true;break;}// 包含相同字符if (!isSetDisjoint(charSetArr[i], charSetArr[j])) {continue;}var product lengthArr[i] * lengthArr[j];if (product maxProduct) {maxProduct product;}break;}if (needBreak) {break;}}return maxProduct; }function isSetDisjoint(charSet1, charSet2) {for (var ele of charSet2) {if (charSet1.has(ele)) {return false;}}return true; } (完)
http://www.dnsts.com.cn/news/205728.html

相关文章:

  • 深圳企业网站建设设计制作方案全国新冠疫苗接种人数最新消息
  • 最好的做网站公司有哪些巩义网站建设报价
  • 青岛建设厅网站天津seo推广服务
  • 青海网站建设系统链家地产二手房网
  • 深圳网站设计 三把火科技简单的网站建设公司的模板
  • 展会网站制作wordpress怎么设置seo
  • 珠峰网站建设徐州网站app开发
  • 学建站论坛汕头网站建设公司
  • 做网站用语言网上推广app怎么做
  • 网站开发成本核算温州做外贸网站
  • 苏州相城区网站建设简单介绍家乡网页html代码
  • 菏泽网站获客网站建设公司做网站官网需多少钱
  • 电子商务网站平台建设策划网站建设的人员组织
  • 二手网站建设的策划网页编辑用户信息原理
  • django网站开发逻辑设计html可视化编辑软件
  • 专业层析成像代做网站荥阳郑州网站建设
  • python做网站用什么框架邯郸网页运营
  • 备案期间 网站想正常做网站 公司有哪些
  • 微信如何做积分商城网站网站幻灯通栏代码
  • 能自己做二次元人物的网站中国建筑工程师网
  • 国外 设计 网站开发一个网站做公司内部用
  • WordPress下拉下一页济南百度提升优化
  • 企业网站建设需要哪些资料高端平面设计网站
  • 做网站用什么广州市海珠区建设局网站
  • 芜湖市建设办网站企业官网首页设计
  • 微信的网站怎么做信息化建设官方网站
  • 省企联网站建设要求html5写的网站有什么好处
  • wordpress 即时站内搜索如何设计一个网页步骤
  • 广东网站建设工作网站模板怎么导入
  • wordpress投稿设置池州网站seo