public class FindSameWord {
public static void main(String[] args) {
// TODO Auto-generated method stub
String filename = "doc//obama.txt";
FindSameWord fs = new FindSameWord();
String txt = fs.getTXT(filename);
ArrayList<String> arrayList = new ArrayList<String>();
HashMap<String, String> fingerPrint = new HashMap<String, String>();
StringTokenizer st = new StringTokenizer(txt, ", ! ' . ��");// 按逗号/空格/叹号分割,其他字符自行添加
while (st.hasMoreElements()) {
String tmp = (String) st.nextElement();
if (tmp != "" && tmp != null && tmp != "s" && !arrayList.contains(tmp.toLowerCase()))
arrayList.add(tmp.toLowerCase());
}
System.out.println(arrayList.size());
fs.sortList(arrayList);
for (int i = 0; i < arrayList.size(); i++) {
// System.out.println(i + "," + arrayList.get(i) + ":");
if (!fingerPrint.containsKey(fs.makeFinger(arrayList.get(i))))
fingerPrint.put(fs.makeFinger(arrayList.get(i)), arrayList.get(i));
else
fingerPrint.put(fs.makeFinger(arrayList.get(i)),
fingerPrint.get(fs.makeFinger(arrayList.get(i))) + "," + arrayList.get(i));
}
for (Map.Entry<String, String> entry : fingerPrint.entrySet()) {
// System.out.println(entry.getKey() + "--->" + entry.getValue());
if (entry.getValue().contains(","))
System.out.println(entry.getKey() + "--->" + entry.getValue());
}
// System.out.println(fs.stringSort("alive"));
// System.out.println(fs.makeFinger("aliive"));
}
String getTXT(String filename) {
String txt = "";
try {
File file = new File(filename);
BufferedReader br = new BufferedReader(new FileReader(file));//构造一个BufferedReader类来读取文件
String s = null;
while ((s = br.readLine()) != null) {//使用readLine方法,一次读一行
txt = txt + s;
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
return txt;
}
ArrayList<String> sortList(ArrayList<String> al) {
for (int i = 0; i < al.size(); i++) {
for (int j = i + 1; j < al.size(); j++) {
if (!stringCompare(al.get(i), al.get(j))) {
String tmp = al.get(i);
al.set(i, al.get(j));
al.set(j, tmp);
}
}
}
return al;
}
boolean stringCompare(String a, String b) {
int aLength = a.length();
int bLength = b.length();
int length = 0;
if (aLength > bLength)
length = bLength;
else
length = aLength;
for (int i = 0; i < length; i++) {
if (a.charAt(i) < b.charAt(i))
return true;
if (a.charAt(i) > b.charAt(i))
return false;
}
if (aLength > bLength)
return false;
else
return true;
}
String makeFinger(String s) {
if (s.length() == 1)
return s;
String fingerPrint = "";
String print = stringSort(s);
// System.out.println("print"+print);
char now = print.charAt(0);
int count = 1;
for (int i = 1; i < print.length(); i++) {
if (print.charAt(i) == now) {
count++;
if (i == print.length() - 1)
fingerPrint = fingerPrint + String.valueOf(now) + String.valueOf(count);
} else {
if (count == 1)
fingerPrint = fingerPrint + String.valueOf(now);
else
fingerPrint = fingerPrint + String.valueOf(now) + String.valueOf(count);
count = 1;
now = print.charAt(i);
if (i == print.length() - 1)
fingerPrint = fingerPrint + String.valueOf(now);
}
}
// System.out.println(fingerPrint);
return fingerPrint;
}
String stringSort(String s) {
String after = "";
char[] tmp = s.toCharArray();
for (int i = 0; i < tmp.length; i++) {
for (int j = i + 1; j < tmp.length; j++) {
if (tmp[i] > tmp[j]) {
char hou = tmp[j];
tmp[j] = tmp[i];
tmp[i] = hou;
}
}
}
after = String.valueOf(tmp);
// System.out.println(after);
return after;
}
}
相关推荐
YOLO26算法皮革表面缺陷检测+训练好的模型+124张数据集+pyqt可视化界面.zip
附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[颜色(color), 切(cut), 折叠(fold), 胶水(glue), 好的(good), 戳(poke)] 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 68 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.7582** mAP50-95 | 0.4306 Precision | 0.6226 Recall | 0.6520 train/box_loss | 0.8731 train/cls_loss | 2.3543 val/box_loss | 1.3709 val/cls_loss | 3.9767 【训练过程分析】 从一开始的配置就定下了基调,训练配置包括了 yolo26n 模型、100 个 epoch,学习率初始设为 0.01,输入尺寸定为 640x640,批次大小为 24。这组配置在开始阶段表现得不错,模型刚开始训练时的 loss 降低得很快,这表明模型能够迅速从数据中吸收信息。但到了中后期,loss 曲线变得愈发平缓,从第 50 个 epoch 开始,即使我增加了学习率衰减的频率,仍然感到曲线在挣扎,像是陷入了平台期。这期间模型的收敛节奏明显减缓,似乎有些“停滞不前”的迹象。到了最后,模型确实收敛了,但在第 68 个 epoch 时 mAP50 获得了 0.7582 的值,这是一个不错的成绩,但与理想值相比仍有提升空间。... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。
C语言 单词的查找和替换
用C语言做的程序,编程环境visual C++ 6.0。此程序分成两个部分,一是对文件文本单词的查找,二是对文本内容的替换。 程序中需要创建子文件textfile,在在该文件中创建wordtext和wordtext2,可以直接用记事本打开文件并且把需要处理的文本写入文件,打开程序就可以执行了。 程序中有的问题和疑惑,可以在评论区指出,我会尽量给大家回复。 //write by YU //单词统计和替换 2021/02/08/ //第二次优化时间 2021/02/10/ 结构体数组排序 //第三次优化时间
YOLO26算法花生异常状态识别+训练好的模型+113张数据集+pyqt可视化界面.zip
附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[异常的(abnormal)] 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 63 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9723** mAP50-95 | 0.8879 Precision | 0.9362 Recall | 0.9444 train/box_loss | 0.4558 train/cls_loss | 0.6201 val/box_loss | 0.4368 val/cls_loss | 0.6930 【训练过程分析】 自从开启了训练任务,每天盯着那根不断波动的 loss 曲线,感觉就像在过山车里兜兜转转。第一轮的训练,模型似乎对数据还不够熟悉,loss 还是较高,尤其是在前 10 轮,loss 下降的速度虽然很快,但并不均匀,有时甚至会有些许反复。到了 20 轮时,loss 曲线明显放缓,似乎进入了一个相对平稳的阶段,但这并没有带来 mAP50 的快速提升。从第 20 轮到第 40 轮,训练过程显得有些枯燥,loss 持续在某个数值附近徘徊,有时候还会在 0.45 到 0.48 之间跳动。到了 40 轮后,我明显感觉到训练进入了一个瓶颈期,loss 曲线开始呈现平台状态,即使再训练几轮,loss 下降的幅度也不大。直到 55 轮左右,loss 才开始缓慢下降,但整个训练过程都让人感觉像是在与时间赛跑,尤其是第 6... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。
C++primer习题6.12找出重复单词
看了答案之后,我表示我考虑多了,写复杂了,但是还是贴出来吧: the code in c++ primer : #include <iostream>#include<vector>#include<string>using namespace std;int main(){ string preword, currword,repword; i...
视频编码压缩11111
视频编码压缩11111
两相交错并联Boost电路仿真模型(Simulink仿真实现)
内容概要:本文详细介绍了基于Simulink平台构建的两相交错并联Boost电路的仿真模型,系统阐述了该拓扑结构在提升系统效率、降低输出电流纹波以及改善动态响应特性方面的技术优势。文中涵盖了主电路架构设计、双闭环控制策略(电压环与电流环)的实现原理、关键参数(如电感、电容、开关频率)的选取依据,并通过仿真结果验证了控制方案的有效性与稳定性。该模型突出展示了多相交错技术在功率变换器中的应用价值,有助于深入理解现代电力电子系统的设计思路与优化方法,适用于新能源发电、储能系统及高效率DC-DC变换器的研发场景。; 适合人群:具备电力电子技术基础理论知识和Simulink仿真操作经验的电气工程、自动化、能源动力等相关专业的本科高年级学生、研究生,以及从事电源变换器设计与开发的工程技术人员。; 使用场景及目标:① 掌握两相交错并联Boost电路的工作机理及其在减小输入/输出电流纹波中的作用;② 学习并实践双闭环反馈控制策略的设计与调试方法;③ 利用仿真模型开展控制器参数优化,提升系统的稳态精度与抗扰动能力,为后续硬件原型开发提供理论支撑与设计参考。; 阅读建议:建议读者结合仿真模型逐步操作,重点关注交错控制时序、占空比分配、电感电流交错现象及环路补偿设计,对照理论分析进行波形观测与参数调整,深化对多相并联拓扑动态特性的理解,并将其迁移应用于实际工程问题中。
[C++ 将重复的单词归并然后按字典顺序排好]
输入若干单词,单词之间的分隔符可以是任意的标点符号或空格。对每个单词,看它的等同单词在所有输入的单词中是否出现过,若没有出现,就输出原单词。所有要输出的单词按字典序顺序输出。等同单词是指多个单词包含的字符完全相同,如abc、bac、acb是等同单词。 例如:输入数据:abc,wes,fdf,bca . ccd 输出:abc ccd fdf wes 解题思路:(1)处理输入字符串得到多个单词;
三相维也纳Vienna整流器电流过零畸变消除仿真模型【三种消除方法】(Simulink仿真实现)
内容概要:本文档围绕“三相维也纳Vienna整流器电流过零畸变消除仿真模型”展开,详细提供了基于Simulink平台实现的三种电流过零畸变抑制方法的仿真模型,旨在解决Vienna整流器在实际应用中由于开关死区效应、器件非理想特性等因素导致的输入电流在过零点附近出现波形畸变的问题,从而提升功率因数和系统效率。文档配套包含9kW三相三开关Vienna PFC整流器的Mathcad计算书,支持用户根据不同功率等级和电压规格进行系统级参数设计与优化。此外,资源还整合了双闭环控制策略、中点电压平衡控制、空间矢量脉宽调制(SVPWM)等关键技术的仿真模型,形成了一套完整、可复用的Vienna整流器控制系统研究与开发体系,适用于高性能电力电子变换器的研发与教学实践。; 适合人群:具备电力电子、自动控制或电气工程等相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事高功率因数整流器、PFC电路、新能源发电、电动汽车充电系统或工业电源研发的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入理解Vienna整流器电流过零畸变的产生机理及其对系统性能的影响;②对比分析并验证三种畸变抑制方法在不同工况下的控制效果与适用范围;③开展高效率、高功率因数整流系统的建模、控制器设计与仿真验证工作;④支撑高水平学术论文撰写、科研项目申报或实际工程项目的技术预研与方案论证。; 阅读建议:建议首先利用Mathcad计算书完成主电路参数设计,随后在Simulink中搭建或修改相应的控制模型,通过设置不同负载与输入条件,对比分析各方案下输入电流THD、功率因数、中点电位波动等关键指标,深入掌握控制算法的动态响应特性和鲁棒性,同时可结合双闭环架构与中点平衡策略进一步优化系统整体性能。
腾讯编程题
记一次腾讯编程题,写了3个半小时,感觉还挺好。代表我现在的水平了。希望以后每次看都会有新的想法。 笔试题目说明 名词说明 单词 由大小写英文字母组成,不含其它字符。 摘要 由多个单词和语句结束符组成。 一条语句内的单词间用一个空格分隔; 摘要中若语句结束,以英文逗号或句号结尾。 搜索次数 标识该摘要被搜索次数。 搜索次数大于等于0。 搜索关键词 由一个关键单词组成,不包含2个及其以上的...
机器人具有扰动抑制功能的有限时间基于方位角的领航者-跟随者编队控制(Matlab代码实现)
内容概要:本文档名为《Plecs全桥LLC谐振变换器仿真模型.txt》,但其实际内容并非围绕该主题展开,而是作为一份优快云博客或科研资源共享平台的文章汇总清单,集中展示了多个工程技术领域的仿真研究与算法实现。涵盖的主要方向包括电力电子(如LLC谐振变换器、VSC-HVDC、PMSM控制)、电力系统优化(潮流计算、微电网调度、无功优化)、智能优化算法(遗传算法、粒子群优化、NSGA-II、多元宇宙算法等)、控制理论(模型预测控制、卡尔曼滤波、滑模控制)、信号与图像处理(故障诊断、雷达SAR成像、双目视觉测距)、无线通信与传感器网络、无人机路径规划与多智能体编队控制、车间调度、深度学习应用(LSTM、CNN、DQN)等。所有条目均基于Matlab/Simulink或Python实现,强调提供完整的仿真模型、源代码、参考文献及详细说明文档,便于用户直接下载与复现。该文档本质为“荔枝科研社”团队发布的科研技术服务推广目录,旨在展示其在多学科仿真建模方面的技术积累与资源服务能力; 适合人群:具备一定工程背景和编程基础的研究生、高校教师、科研人员以及从事自动化、电气工程、控制科学与工程、计算机科学、通信工程、智能制造等相关领域的技术人员; 使用场景及目标:①为科研工作者提供成熟的算法实现方案与仿真模板,显著降低课题开发与论文复现的时间成本;②辅助完成课程设计、毕业设计、科技竞赛(如数学建模大赛)、期刊论文复现等任务;③推动先进控制策略、智能优化算法和数据驱动方法在电力系统、智能制造、无人机集群、新能源管理等前沿领域的应用研究与成果转化; 其他说明:所有资源均通过百度网盘或微信公众号“荔枝科研社”免费提供下载,配套资料齐全,包含仿真模型、可运行代码、论文参考文献、技术文档等,支持快速部署、结果验证与二次开发,适用于教学、科研与工程实践场景。
基于单串电池保护IC:DW01-A/J开发的Battery Charger ,支持瞬态100A电池供电能力,适用于儿童 大脚车类
文件内含:原理图、PCB gerber、BOM,以及SMT位置文件,已验证完毕,可直接生产。
英文句子比较大小c语言,怎么用C语言写个程序找出两个英文句子中相同的英文单词...
怎么用C语言写个程序找出两个英文句子中相同的英文单词关注:284答案:3手机版解决时间 2021-02-01 06:34提问者怪咖2021-01-31 22:50怎么用C语言写个程序找出两个英文句子中相同的英文单词最佳答案二级知识专家单剑走天涯2021-02-01 00:09一个示范程序大致如下:#include #include #include int main(int argc, c...
从“机械臂阵列”到“会思考的白车身”:2026汽车焊装数字化生产线行业调研.pdf
从“机械臂阵列”到“会思考的白车身”:2026汽车焊装数字化生产线行业调研.pdf
变位词程序的实现
这篇文章是 读厚《编程珠玑》系列博客 的第 2 篇,主要的内容是《编程珠玑》第二章最后提出的变位词程序的实现。 问题简述问题来源于《编程珠玑》第二章中最后提出的变位词程序的实现。其中的变位词的概念,在第二章开篇的 C 问题中得到了阐释。 C. 给定一个英语词典,找出其中所有变位词的集合。例如,『pots』,『stop』,『tops』互为变位词,因为每一个单词都可以通过改变其他单词中字母的顺序来得
【邻接表存图模板】vector邻接表、数组邻接表、链式前向星
一、目录 一、目录 二、前言 三、邻接表“详解” (一)边的信息 (二)几种邻接表的实现方法“详解” 1.数组邻接表 代码 2.vector邻接表 代码 vector邻接表还有一种魔性写法: 3.链式前向星 代码 四、总结 二、前言 本来之前自己太弱了,一直只会用邻接矩阵,后来发现邻接表才是主流... 参考&特别鸣谢: https://www.cnblog...
独立游戏开发者的新武器:实测腾讯混元3D自动绑骨,搭配Mixamo让角色动画制作效率翻倍
本文实测腾讯混元3D自动绑骨功能与Mixamo动画库的协同使用,显著提升独立游戏开发者的角色动画制作效率。通过解决卡通角色绑骨偏差、优化骨骼权重及动画状态机配置,使原本两周的流程缩短至三天,并分享Unity中的性能优化与版权合规要点。
寻找变位词
转自 1.前言 最近的天气真的好热,跟随着温度的升高人也莫名的变得容易烦躁。在这炎热的夏日里,什么事情都提不起兴趣! 距离上一篇博文,不知觉间一周的时间就快过去了,最近一周工作异常繁忙,不知觉间学习的计划就被打乱。 其实,做什么事情都是一样--一旦放下就很难再提起。 人生就是和另一个我战斗的过程,为了不被另一个我打败,我决定,今天无论如何也得写的什么。
SECS/GEM协议学习教程
摘要:SECS/GEM是半导体制造设备通信的国际标准,定义了主机系统与设备间的通信规范,包括设备控制、状态监控、数据采集等功能。协议采用分层架构(应用层、消息层、传输层、物理层),支持关键消息类型如S1F13(建立通信)、S2F13(数据采集)等。通信流程涵盖建立连接、数据交换和终止会话,并通过状态变量(SVID)、事件(CEID)等实现实时交互。典型应用包括设备初始化、报警处理及配方管理,需处理数据类型(如U2、A、L)和通信调试问题。
十月百度,阿里巴巴,迅雷搜狗最新面试十一题
http://blog.youkuaiyun.com/v_july_v/article/details/6855788 引言 当即早已进入10月份,十一过后,招聘,笔试,面试,求职渐趋火热。而在这一系列过程背后浮出的各大IT公司的笔试/面试题则蕴含着诸多思想与设计,细细把玩...
人工智能,不止于模型:四步实现完整工作流
工程师越来越多地致力于将人工智能 (AI) 集成到自己的项目和应用中,同时不断着力提升自己的 AI 技能。面对 AI 问题,工程师首先要了解什么是 AI,以及如何将它纳入当前工作流,这看似简单,实则未必容易。在 Google 中搜索“什么是 AI?”会得到数百万条结果,包括不同程度的技术和相关信息。那么,对工程师而言,AI 意味着什么?人们对 AI 的关注主要集中在 AI 模型上,受此影响,工程师会迅速投入 AI 建模的研究。
Arduino ESP32S3 基础入门教学大纲
ESP32环境、Arduino
查找两个文件中相同的单词stl
<br />#include <cstdlib> #include <iostream> #include <vector> #include <algorithm> #include <fstream> #include <iterator> using namespace std; int main(int argc, char *argv[]) { ifstream input1("input1.txt"); ifstream input2("input2.txt"
实战!C#整合YOLO+Halcon做玻璃瓶口缺陷检测:裂纹识别+尺寸测量一步到位(附DLL交互代码)
AI擅长语义识别(裂纹、缺陷),传统机器视觉擅长精密测量(尺寸、位置),C#做整合层,才能满足工业生产的“精度+效率+稳定性”要求。这套方案不只是玻璃瓶检测能用,改改模型和测量逻辑,还能用到瓶盖缺陷检测、饮料瓶液位检测等场景。如果你们厂也有类似的质检痛点,评论区留个言,我帮你看看怎么调整算法参数。
3780



被折叠的 条评论
为什么被折叠?



