当前位置:网站首页>1791. Find the central node of the star diagram / 1790 Can two strings be equal by performing string exchange only once
1791. Find the central node of the star diagram / 1790 Can two strings be equal by performing string exchange only once
2022-07-06 00:53:00 【PI Qiliang】
1791. Find the central node of the star graph 【 Simple questions 】
Ideas :
- Because each point does not repeat , and edges It represents the line connected by two endpoints , Then the central node of these lines will inevitably repeat in these segments , Only the central node will appear repeatedly , So as long as there is an endpoint in the center, at least 2 Time , Then this point must be the central node .
- Define a hash set Used to store the endpoints of these segments , As long as there is endpoint repetition , Then return to this node directly , Otherwise, add this endpoint into set Traverse the next line segment .
Code :
class Solution {
public int findCenter(int[][] edges) {
Set<Integer> set = new HashSet<>();
for (int[] edge : edges) {
if (!set.add(edge[0])){
return edge[0];
}
if (!set.add(edge[1])){
return edge[1];
}
}
return 0;
}
}
when :
At present, there is no official solution .
1790. Can performing only one string exchange make two strings equal 【 Simple questions 】
Ideas :
- Define a list list Used to count the character positions of two strings that are not equal .
- Because the two strings are the same length , So use ordinary for Loop can traverse two strings at the same time , If the characters of two strings are different in the same position , Add the current location to list in , After adding, if you find list The length of has been greater than 2 了 , Then it means that at this time, the two strings have at least 3 The positions of characters are different , It is impossible to make two strings equal by one string Exchange , So at this point, go straight back to false.
- After string traversal , If list The length of is still 0, Then it means that the two strings are exactly the same , Then I exchange characters in the same position of two strings at will , After that, the two strings must still be equal , Satisfy the question , So at this point, go straight back to true.
- If list The length of is 1, At this time, there is only one position character difference between the two strings , The characters in other positions are all the same and cannot be exchanged , At this time, it must be impossible to make the two strings equal through a string Exchange , So back false.
- Get rid of list The length of is 0, by 1 The situation of , that list The length of can only be 2 了 ( Greater than 2 The situation of 2 It has been eliminated when traversing two strings in one step , Can go to the end of traversal instructions list The length of must be less than or equal to 2 Of ), Now if s1 Of list【0】 The character of the position is the same as s2 Of list【1】 The characters of position are equal and s1 Of list【1】 Position character and s2 Of list【0】 Position characters are equal , Then it shows that the two unequal characters of these two strings can be exchanged to make the two strings equal , Satisfy the question , return true, Otherwise return to false.
Code :
class Solution {
public boolean areAlmostEqual(String s1, String s2) {
List<Integer> list = new ArrayList<>();
int len = s1.length();
for (int i = 0; i < len; i++) {
if (s1.charAt(i) != s2.charAt(i)){
list.add(i);
}
if (list.size()>2){
return false;
}
}
if (list.size() == 0){
return true;
}
if (list.size() == 1){
return false;
}
return (s1.charAt(list.get(0)) == s2.charAt(list.get(1))) && (s1.charAt(list.get(1)) == s2.charAt(list.get(0)));
}
}
when :
At present, there is no official solution .
notes :
I wrote today's daily question before , See
1189. “ balloon ” Maximum number of
The idea of rewriting today is not the same as last time , But the performance has not improved , I won't write it again in this article .
边栏推荐
- 云导DNS和知识科普以及课堂笔记
- Spark SQL UDF function
- Kotlin core programming - algebraic data types and pattern matching (3)
- Promise
- Intranet Security Learning (V) -- domain horizontal: SPN & RDP & Cobalt strike
- 2022-02-13 work record -- PHP parsing rich text
- cf:D. Insert a Progression【关于数组中的插入 + 绝对值的性质 + 贪心一头一尾最值】
- esxi的安装和使用
- Power Query数据格式的转换、拆分合并提取、删除重复项、删除错误、转置与反转、透视和逆透视
- Analysis of the combination of small program technology advantages and industrial Internet
猜你喜欢

Ffmpeg captures RTSP images for image analysis

BiShe - College Student Association Management System Based on SSM

毕设-基于SSM高校学生社团管理系统

I'm interested in watching Tiktok live beyond concert

uniapp开发,打包成H5部署到服务器

如何制作自己的機器人

MobileNet系列(5):使用pytorch搭建MobileNetV3并基于迁移学习训练

Comment faire votre propre robot

可恢复保险丝特性测试

图解网络:TCP三次握手背后的原理,为啥两次握手不可以?
随机推荐
Hundreds of lines of code to implement a JSON parser
Exciting, 2022 open atom global open source summit registration is hot
【线上小工具】开发过程中会用到的线上小工具合集
Cve-2017-11882 reappearance
[groovy] XML serialization (use markupbuilder to generate XML data | create sub tags under tag closures | use markupbuilderhelper to add XML comments)
How to use the flutter framework to develop and run small programs
如何制作自己的机器人
For a deadline, the IT fellow graduated from Tsinghua suddenly died on the toilet
Extension and application of timestamp
数据分析思维分析方法和业务知识——分析方法(二)
cf:C. The Third Problem【关于排列这件事】
Spark DF增加一列
MobileNet系列(5):使用pytorch搭建MobileNetV3并基于迁移学习训练
毕设-基于SSM高校学生社团管理系统
Analysis of the combination of small program technology advantages and industrial Internet
程序员成长第九篇:真实项目中的注意事项
Reading notes of the beauty of programming
视频直播源码,实现本地存储搜索历史记录
Arduino hexapod robot
Spark SQL空值Null,NaN判断和处理