Hướng dẫn how do you find the distance between two words in a string python? - làm thế nào để bạn tìm thấy khoảng cách giữa hai từ trong một chuỗi python?

Cải thiện bài viết

Show

Lưu bài viết

Cho một chuỗi S và hai từ W1 và W2 có trong S. Nhiệm vụ là tìm khoảng cách tối thiểu giữa W1 và W2. Ở đây, khoảng cách là số bước hoặc từ giữa từ thứ nhất và từ thứ hai. & Nbsp;s and two words w1 and w2 that are present in S. The task is to find the minimum distance between w1 and w2. Here, distance is the number of steps or words between the first and the second word. 

Examples:  

Đầu vào: S = Geeks cho những người đam mê đóng góp thực hành, W1 s = “geeks for geeks contribute practice”, w1 = “geeks”, w2 = “practice” 
Output : 1 
There is only one word between the closest occurrences of w1 and w2.

Đầu vào: s = Hồi nhanh màu nâu nâu ếch ếch, w1 = nhanh nhanh, w2 = đầu ra ếch ếch: 2s = “the quick the brown quick brown the frog”, w1 = “quick”, w2 = “frog”
Output : 2

Một cách tiếp cận đơn giản là xem xét mọi sự xuất hiện của W1. Đối với mỗi lần xuất hiện của W1, hãy tìm W2 gần nhất và theo dõi khoảng cách tối thiểu. & NBSP;simple approach is to consider every occurrence of w1. For every occurrence of w1, find the closest w2 and keep track of the minimum distance. 

Implementation:

C++

#include

#include

using namespace std;

void split(const string &s, char #include 0

#include 1#include 2

#include 3

#include 4#include 5

#include 4#include 7

#include 4#include 9 using0

using1using2

using3

using4 using5

#include 3

#include 4using8 using9

using1namespace1 namespace2

#include 4namespace4

#include 4namespace6namespace7namespace8

#include 4using4 std;1

#include 4std;3 std;4using4 std;6

#include 4#include 3

using1using8 void1

using1#include 3

void4std;3 std;4using4 void8

#include 1split(0

void4#include 3

split(3using8 split(5

split(3#include 3

split(8using4 const0const1const2

split(8using8 const5

const6const7

split(3using3

void4using3

using1using3

#include 4using3

#include 4namespace1 string &s, 8

using3

using4 char1using4 char3char const char6

#include 3

#include 4char9#include 00#include 01

#include 4#include 03#include 04#include 01

#include 4#include 07#include 08#include 01

#include 4#include 11

#include 4namespace1 namespace2

using3

Java

#include 16#include 17 #include 18

#include 16#include 3

#include 21 using4 #include 23

#include 3

#include 4using8 #include 27

using1namespace1 #include 30 #include 01

#include 4#include 33#include 34#include 35

#include 4using4 #include 38#include 39#include 01

#include 4std;3 std;4using4 #include 45#include 30#include 01

#include 48#include 49

#include 4#include 3

using1using8 #include 54

using1#include 3

void4std;3 std;4using4 #include 61#include 30#include 01

#include 64#include 65

void4#include 3

split(3using8 #include 70

split(3#include 3

split(8using4 #include 75#include 39#include 01

split(8using8 const5

split(8#include 3

const6#include 84

split(8using3

split(3using3

void4using3

using1using3

#include 4using3

#include 4namespace1 string &s, 8

using3

using4 char1using4 char3char const char6

#include 3

using04#include 00#include 01

#include 4namespace1 namespace2

Java

using13

using3

using3

Python3

#include 16#include 17 #include 18

#include 21 using4 #include 23

#include 3

#include 4using8 #include 27

using1namespace1 #include 30 #include 01

#include 4using4 #include 38#include 39#include 01

#include 4std;3 std;4using4 #include 45#include 30#include 01

using1using8 #include 54

void4std;3 std;4using4 #include 61#include 30#include 01

split(3using8 #include 70

split(8using4 #include 75#include 39#include 01

#include 99 #include 21 void using02

using07#include 04 #include 01

using10#include 08 #include 01

using16 using17

#include 4using8 using20using21using21 using23

using97using98

C#

using24namespace1 #include 30

#include 16#include 17 #include 18

#include 21 using4 #include 23

#include 3

#include 3

#include 4using8 #include 27

using1namespace1 #include 30 #include 01

#include 4namespace09namespace24#include 34#include 35

#include 4using4 #include 38#include 39#include 01

#include 4std;3 std;4using4 #include 45#include 30#include 01

#include 48namespace36

#include 4#include 3

using1using8 #include 54

using1#include 3

void4std;3 std;4using4 void8

#include 64namespace50

void4#include 3

split(3using8 split(5

split(3#include 3

split(8using4 const0const1const2

split(8using8 const5

split(8#include 3

const6#include 84

split(8using3

split(3using3

void4using3

using1using3

#include 4using3

#include 4namespace1 string &s, 8

using3

#include 99 #include 21 void namespace85

#include 3

namespace09 namespace88#include 00#include 01

namespace09 namespace92#include 04 #include 01

namespace09 namespace96#include 08 #include 01

namespace99

using3

using3

PHP

std;02

std;03 namespace08std;05std;06std;07____406std;09using32

#include 3

#include 4using8 std;4std;07 std;16__

using1namespace1 namespace21

#include 4std;23 std;24std;25std;4#include 34std;06std;05____#include 35

#include 4std;32 std;33std;23std;35

#include 4std;3 std;4std;39 std;40

#include 48std;39 std;43std;23std;45std;39 std;47

#include 4#include 3

using1using8 std;4___

using1#include 3

void4std;3 std;4std;64 std;40

#include 64std;64 std;43std;23std;70std;64 std;47

void4#include 3

split(3using8 std;4___

split(3#include 3

split(8std;87 std;24const1std;4std;39 std;92std;64std;94

split(8using8 std;4std;87 std;99std;32using32

split(8#include 3

const6std;32 std;24std;87 #include 01

split(8using3

split(3using3

void4using3

using1using3

#include 4using3

#include 4namespace1 std;32#include 01

using3

std;05 std;24#include 00#include 01

std;07 std;24#include 04 #include 01

std;09 std;24#include 08 #include 01

void36 namespace08std;05std;06std;07____406std;09void43

void44

JavaScript

void45

std;03 void47

#include 4using8 void50

using1namespace1 namespace21

#include 4void55#include 34#include 35

#include 4void59

#include 4std;23 std;24std;25std;4#include 34std;06std;05____#include 35

#include 48#include 49

#include 4#include 3

#include 4std;32 std;33std;23std;35

using1#include 3

#include 4std;3 std;4std;39 std;40

#include 48std;39 std;43std;23std;45std;39 std;47

void4#include 3

using1using8 std;4___

split(3#include 3

split(8void85

split(8using8 const5

split(8#include 3

const6#include 84

split(8using3

split(3using3

void4using3

using1using3

#include 4using3

#include 4namespace1 string &s, 8

using3

#include 4split(08#include 00#include 01

void4std;3 std;4std;64 std;40

#include 64std;64 std;43std;23std;70std;64 std;47

#include 4split(20

split(3using8 std;4___

split(8std;87 std;24const1std;4std;39 std;92std;64std;94

  • split(8using8 std;4std;87 std;99std;32using32
  • const6std;32 std;24std;87 #include 01

#include 4namespace1 std;32#include 01efficient solution is to find the first occurrence of any element, then keep track of the previous element and current element. If they are different and the distance is less than the current minimum, update the minimum.

Implementation:

C++

split(22

std;05 std;24#include 00#include 01

std;07 std;24#include 04 #include 01

#include 3

std;09 std;24#include 08 #include 01

split(29#include 3

void36 namespace08std;05std;06std;07____406std;09void43

split(29using3

split(29namespace4

split(29split(42

split(29split(44

JavaScript

split(29#include 3

#include 4split(51

split(29using3

std;03 void47

#include 4using8 void50

#include 4std;3 void62

using1using8 void69

split(29#include 3

void4std;3 void74

#include 4#include 3

split(73split(74

split(73split(76#include 01

#include 4using3

split(29using3

#include 64#include 65

split(29#include 3

void4std;3 void74

#include 4#include 3

#include 64#include 65

split(95split(96

split(73#include 3

using1const00

using1split(74

split(73using3

split(73const06

split(73#include 3

split(3using8 void81

split(73using3

#include 4using3

#include 4const16

split(29using3

#include 4split(12#include 04 #include 01

using3

#include 4split(16#include 08 #include 01

#include 3

split(29char9#include 00#include 01

split(29#include 03#include 04#include 01

split(29#include 07#include 08#include 01

split(29const39

using3

split(21

Phân tích độ phức tạp:

Độ phức tạp về thời gian: O (N2)

Không gian phụ trợ: O (n)

Một giải pháp hiệu quả là tìm ra sự xuất hiện đầu tiên của bất kỳ yếu tố nào, sau đó theo dõi phần tử và phần tử hiện tại trước đó. Nếu chúng khác nhau và khoảng cách nhỏ hơn mức tối thiểu hiện tại, hãy cập nhật mức tối thiểu.

using1using3

using1const57#include 34#include 35

using1using4 const62

using1using4 const65#include 39#include 01

using1using4 const70#include 30__772

using1std;3 const77#include 30const79

void4using8 const82

split(3split(74

split(3split(76#include 01

void4using3

using1using3

using1#include 9 const94

void4using8 const82

using1#include 9 const94

split(8string &s, 02#include 39#include 01

split(8split(74

split(3using8 string &s, 00

split(8split(74

split(3using3

void4using3

void4string &s, 18#include 39#include 01

using1using3

split(3string &s, 08const06 #include 3

#include 4using3

using1namespace1 string &s, 8

using1using04#include 00#include 01

using1using07#include 04#include 01

using1using10#include 08#include 01

using1string &s, 46

#include 4#include 99 #include 21 void string &s, 32

using3

C#

#include 4using3

using namespace00

#include 3

#include 17 string &s, 53

#include 4#include 3

#include 4#include 21 using4 string &s, 58

using1#include 3

using1using8 string &s, 63

using1using3

using1string &s, 72#include 34#include 35

void4namespace1 namespace2

using1using4 string &s, 77

using1using4 split(59

using1using4 split(62

using1#include 3

using1std;3 split(65

void4#include 3

split(3split(74

split(3split(76#include 01

void4using3

using1using3

void4using8 string &s, 91

using1#include 3

using1std;3 split(65

void4#include 3

void4using8 string &s, 91

char16split(96

split(3#include 3

split(8const00

split(8split(74

split(3using3

split(3const06

split(3#include 3

split(8split(74

split(3using3

using1#include 9 split(84

void4const16

using1using3

split(3string &s, 08const06 #include 3

#include 4using3

using1namespace1 string &s, 8

#include 4#include 3

using1using04#include 00#include 01

using1using07#include 04#include 01

using1using10#include 08#include 01

using1char65

#include 4using3

using3

Python3

#include 4#include 99 #include 21 void string &s, 32

#include 4using3

using namespace00

#include 17 string &s, 53

#include 4#include 21 using4 string &s, 58

using1using8 string &s, 63

void4namespace1 namespace2

using1using4 string &s, 77

using1using4 split(59

void4split(76

using1using4 split(62

using1using4 string &s, 77

using1using4 split(59

using1using4 split(62

using1std;3 split(65

void4const06#include 057

using1std;3 split(65

void4using8 string &s, 91

using1#include 9 split(84

split(3using8 char15

void4using3

#include 4#include 99 #include 21 void char49

using97using98

using16 using17

void45

#include 4using8 using20using21using21 using23

#include 3

using24namespace1 #include 30

#include 4#include 3

using1using8 string &s, 63

using1using3

using1void55#include 34#include 35

using1#include 100

using1#include 102

using1#include 104

using1using4 split(62

using1#include 3

using1std;3 split(65

void4using8 string &s, 91

split(3split(74

split(3split(76#include 01

void4using3

using1using3

void4using8 string &s, 91

using1#include 3

using1std;3 split(65

void4#include 3

void4using8 string &s, 91

split(8const00

split(8split(74

split(3using8 string &s, 00

split(8split(74

split(3using3

void4using3

void4const16

using1using3

split(3string &s, 08const06 #include 3

using3

using1namespace1 string &s, 8

split(12#include 04#include 01

split(16#include 08#include 01

#include 168

split(21

Phân tích độ phức tạp:

  • Độ phức tạp về thời gian: O (n)
  • Không gian phụ trợ: O (1)

Một giải pháp hiệu quả là lưu trữ chỉ số của biến Word1 in (LastPos) nếu Word1 xảy ra lại sau đó chúng tôi cập nhật (LastPos) nếu Word1 không xảy ra thì chỉ cần tìm sự khác biệt của chỉ mục của Word1 và Word2.efficient solution is to store the index of word1 in (lastpos) variable if word1 occur again then we update (lastpos) if word1 not occur then simply find the difference of index of word1 and word2.

Implementation:

C++

#include

using namespace std;

using4 #include 175

#include 4#include 3

________ 148 ________ 28 ________ 1180 ________ 31 & nbsp; namespace2

using1using4 #include 185

using1using4 #include 188

using1std;3std;4using4 #include 193

using1#include 3

void4using8#include 198

void4#include 3

split(3using8#include 203

#include 204#include 205

split(3const06

split(3#include 3

split(8using8#include 212

#include 1#include 205

split(8const06

split(8#include 3

const6#include 220

const6#include 205

split(8using3

split(3using3

void4using3

using1using3

using1namespace1 #include 233

using3

using4 #include 236

#include 4#include 238#include 04std;06#include 241std;06#include 04std;06#include 245#include 246

#include 247#include 08#include 249

#include 247#include 03#include 04#include 01

#include 4#include 07#include 08#include 01

#include 4#include 259#include 260#include 01

#include 4namespace1 namespace2

using3

Java

#include 266 #include 267

#include 17 #include 269

split(29#include 21 using4 #include 273

#include 274#include 275

split(29#include 3

#include 4using8 #include 280

split(73namespace1 #include 30#include 01

#include 4using4 #include 287

#include 4using4 #include 290#include 39#include 01

#include 4std;3 std;4using4 #include 297#include 30#include 299

split(73using8 #include 302

split(95#include 304

using1using8 #include 307#include 39using32

split(95#include 205

using1const06 #include 3

split(95using8 #include 317

void4#include 205

split(95const06 #include 3

void4#include 324

#include 325#include 326#include 39#include 328

void4#include 205

split(95using3

using1using3

split(73using3

#include 4using3

#include 4namespace1 #include 233

split(29using3

split(29#include 99 #include 21 void #include 348

split(29#include 3

#include 4#include 352#include 353 #include 354

#include 4#include 356#include 04#include 35

#include 4#include 356#include 241#include 35

#include 4#include 356#include 04#include 35

#include 4#include 356#include 245#include 35

#include 4#include 356#include 08#include 35

#include 4using07#include 04#include 01

#include 4using10#include 08#include 01

#include 4#include 384

split(29using3

using3

Phân tích độ phức tạp:

  • Độ phức tạp về thời gian: O (n)
  • Không gian phụ trợ: O (1)