Hướng dẫn first non repeating character javascript codewars - codewars javascript ký tự không lặp lại đầu tiên

  • Đăng ký

    Thời gian để nhận được danh dự của bạn

  • Tập huấn
  • Thực tiễn

    Hoàn thành thách thức Kata để kiếm được danh dự và cấp bậc. Hãy đào tạo lại để trau dồi kỹ thuậtKata to earn honor and ranks. Re-train to hone technique

  • Freestyle sparring

    Thay phiên nhau phối lại và tái cấu trúc mã người khác thông qua KumiteKumite

  • Sự nghiệp
  • Những cơ hội

    Tìm thử thách nghề nghiệp tiếp theo của bạn - được cung cấp bởi các công việc đủ điều kiệnQualified Jobs

  • Cộng đồng
  • Bảng xếp hạng

    Đạt được danh dự và tiến lên bảng xếp hạng toàn cầu

  • Trò chuyện

    Tham gia máy chủ Discord của chúng tôi và trò chuyện với các chiến binh mã đồng nghiệp của bạnDiscord server and chat with your fellow code warriors

  • Thảo luận

    Xem Hội đồng Thảo luận GitHub của chúng tôi để thảo luận về các chủ đề CodeWars chungGithub Discussions board to discuss general Codewars topics

  • Về
  • Tài liệu

    Tìm hiểu về tất cả các khía cạnh khác nhau của các mã hóa

Nhân vật không lặp lại đầu tiên

  • Thông tin chi tiết
  • Các giải pháp
  • Bài giảng (316)

Description:

Tải mô tả ...

Kata tương tự:

Thêm bởi tác giả:

Kiểm tra những kata khác được tạo ra bởi quá nhiệt tình

Stats:

TạoNgày 26 tháng 12 năm 2013
Được phát hànhNgày 26 tháng 12 năm 2013
Được phát hành78755
Chiến binh được đào tạo10631
Tổng số bỏ qua288466
Tổng số hồ sơ45659
Tổng số thời gian hoàn thành16414
Hoàn thành JavaScript4159
C# Hoàn thành1958
Hoàn thành Ruby22364
Hoàn thành Python84
Hoàn thành f#1026
Đi hoàn thành21
Hoàn thành OCAML6
Hoàn thành yếu tố911

Tổng số sao % phiếu bầu với xếp hạng phản hồi tích cực
89% trong số 4368 3521
Tổng số phiếu bầu "rất hài lòng" 768
Tổng số phiếu bầu "có phần hài lòng" 79

  • Đăng ký

    Thời gian để nhận được danh dự của bạn

  • Tập huấn
  • Thực tiễn

    Hoàn thành thách thức Kata để kiếm được danh dự và cấp bậc. Hãy đào tạo lại để trau dồi kỹ thuậtKata to earn honor and ranks. Re-train to hone technique

  • Freestyle sparring

    Thay phiên nhau phối lại và tái cấu trúc mã người khác thông qua KumiteKumite

  • Sự nghiệp
  • Những cơ hội

    Tìm thử thách nghề nghiệp tiếp theo của bạn - được cung cấp bởi các công việc đủ điều kiệnQualified Jobs

  • Cộng đồng
  • Bảng xếp hạng

    Đạt được danh dự và tiến lên bảng xếp hạng toàn cầu

  • Trò chuyện

    Tham gia máy chủ Discord của chúng tôi và trò chuyện với các chiến binh mã đồng nghiệp của bạnDiscord server and chat with your fellow code warriors

  • Thảo luận

    Xem Hội đồng Thảo luận GitHub của chúng tôi để thảo luận về các chủ đề CodeWars chungGithub Discussions board to discuss general Codewars topics

  • Về
  • Tài liệu

    Tìm hiểu về tất cả các khía cạnh khác nhau của các mã hóa

Nhân vật không lặp lại đầu tiên

Bạn không thể xem giải pháp này

Không có giải pháp để hiển thị

Từ CodeWars.com:

Viết một hàm có tên firstNonRepeatingCharacter lấy đầu vào chuỗi và trả về ký tự đầu tiên không được lặp lại ở bất cứ đâu trong chuỗi.

Ví dụ: nếu được đưa ra đầu vào 'stress', hàm sẽ trả về 't', vì chữ t chỉ xảy ra một lần trong chuỗi và xảy ra đầu tiên trong chuỗi.

Là một thách thức bổ sung, các chữ cái trên và chữ thường được coi là cùng một ký tự, nhưng hàm sẽ trả về đúng trường hợp cho chữ cái ban đầu. Ví dụ: đầu vào 'sTreSS' sẽ trả về 'T'.same character, but the function should return the correct case for the initial letter. For example, the input 'sTreSS' should return 'T'.

Nếu một chuỗi chứa tất cả các ký tự lặp lại, nó sẽ trả về chuỗi trống (

# first non repeating char
def first_non_repeating_letter(string):
#need to handle empty strings
if not string: return ""
# make everything lowercase
string_lowercase = string.lower()

# loop through the string and add check for a letter that only occurs once
for char in string_lowercase:
count = string_lowercase.count(char)
if count == 1:
non_repeating_char = char
break
#need to break or it will get the last letter that repeats only once!

#need to handle case when there is no repeating char
if not non_repeating_char:
return ""

#loop through "string_lowercase" and get index of char that
# repeats only once
index = 0
for x in range(0, len(string_lowercase)):
if string_lowercase[x] == non_repeating_char:
index = x
#need to break again
break
non_repeating_char_correct_case = string[x]
# return string[index] to get the right case

return non_repeating_char_correct_case

0).

Tôi đã giải quyết các vấn đề mã hóa nhiều người bằng cách viết một số mã giả. Mặc dù đôi khi tôi kiểm tra để đảm bảo rằng có một cách để thực hiện một bước trong mã giả trước khi tôi chuyển sang bước tiếp theo. Ở đây, mã cuối cùng với mã giả được viết. Điều này cũng bao gồm các ghi chú về những điều tôi đã sửa.

# first non repeating char
def first_non_repeating_letter(string):
#need to handle empty strings
if not string: return ""
# make everything lowercase
string_lowercase = string.lower()

# loop through the string and add check for a letter that only occurs once
for char in string_lowercase:
count = string_lowercase.count(char)
if count == 1:
non_repeating_char = char
break
#need to break or it will get the last letter that repeats only once!

#need to handle case when there is no repeating char
if not non_repeating_char:
return ""

#loop through "string_lowercase" and get index of char that
# repeats only once
index = 0
for x in range(0, len(string_lowercase)):
if string_lowercase[x] == non_repeating_char:
index = x
#need to break again
break
non_repeating_char_correct_case = string[x]
# return string[index] to get the right case

return non_repeating_char_correct_case

Phần thách thức nhất của điều này là tìm ra một cách hiệu quả để xem qua chuỗi và đếm số lần mỗi nhân vật xuất hiện. Lúc đầu, tôi đã bắt gặp ý tưởng này tương tự như thế này trong Stack Overflow:

# loop through the string and add char:count to a dictionary count
count = {}
for s in string_lowercase:
if s in count:
count[s] += 1
else:
count[s] = 1

Nhưng nó đã lãng phí thời gian xử lý để tính xảy ra trên một. Và một khi bạn tìm thấy char đầu tiên chỉ xảy ra một lần, vòng lặp sẽ bị hỏng. Vì vậy, tôi đã tìm thấy một phương thức gọi là. Vì vậy, bạn chỉ có thể lặp qua một chuỗi, đếm tổng số xuất hiện của mỗi ký tự và dừng lại khi bạn tìm thấy một lần chỉ xảy ra một lần.

for char in string_lowercase:
count = string_lowercase.count(char)
if count == 1:
non_repeating_char = char
break

Một sai lầm mà tôi đã mắc hai lần không bao gồm các tuyên bố phá vỡ. Tôi quên rằng các vòng lặp sẽ tiếp tục ngay cả sau khi bạn tìm thấy những gì bạn đang tìm kiếm.

Sau khi gửi, tôi tìm thấy một người khác, giải pháp thanh lịch hơn:

def first_non_repeating_letter(string):     
string_lower = string.lower()
for i, letter in enumerate(string_lower):
if string_lower.count(letter) == 1:
return string[i]
return ""

Tôi sẽ cố gắng nhớ rằng việc liệt kê trong một vòng lặp có thể tiện dụng nếu bạn cần chỉ mục cho một cái gì đó. Trong trường hợp này, nó tiết kiệm thực hiện một vòng lặp khác để có được chỉ số của nhân vật.

Làm thế nào bạn có thể tìm thấy ký tự không lặp lại đầu tiên trong một từ javascript?

var firstNonrepeatEdCharacter = function (string) {var chars = string.split ('');for (var i = 0; i split(''); for (var i = 0; i < string. length; i++) { if (chars. filter(function(j) { return j == string.

Làm thế nào để bạn in ký tự không lặp lại đầu tiên từ một chuỗi trong JS?

Để xác định ký tự không lặp lại đầu tiên, tôi đã sử dụng indexof, trả về vị trí của lần xuất hiện đầu tiên của một giá trị được chỉ định trong một chuỗi.Câu lệnh IF tìm kiếm một bản sao giá trị hiện tại của char và nếu nó không thể tìm thấy một trận đấu, nó sẽ trả về ký tự đó.indexOf , which returns the position of the first occurrence of a specified value in a string. The if statement searches for a duplicate of the current value of char , and if it's unable to find a match, it returns that character.