Skip to main content

Algorithm looks for the first character not repeating

Given a string s, find and return the first instance of a non-repeating character in it. If there is no such character, return '_'.


Example
  • For s = "abacabad", the output should be
    firstNotRepeatingCharacter(s) = 'c'.
    There are 2 non-repeating characters in the string: 'c' and 'd'. Return c since it appears in the string first.
  • For s = "abacabaabacaba", the output should be
    firstNotRepeatingCharacter(s) = '_'.
    There are no characters in this string that do not repeat.
Input/Output
  • [time limit] 500ms (cpp)
  • [input] string s
    A string that contains only lowercase English letters.
    Guaranteed constraints:
    1 ≤ s.length ≤ 105.
  • [output] char
    The first non-repeating character in s, or '_' if there are no characters that do not repeat.

My this solution:
char firstNotRepeatingCharacter(std::string s)
{
    char temp = ' ';
    for (int i = 0; i < s.length(); i++) {
        for (int g = 0; g < s.length(); g++) {
            if (s.length() == 1) {
                temp = s[0];
            }
            else if (i == g) {
                continue;
            }
            else if (s[i] == s[g]) {
                temp = '_';
                break;
            }
            else {
                temp = s[i];
            }
        }
        if (temp != '_')
            return temp;
    }
    return temp;
}

Comments

Popular posts from this blog

Bài 4: Biến trong Javascript

Các kiểu dữ liệu của Javascript: Một trong những đặc điểm cơ bản nhất của một ngôn ngữ lập trình là các kiểu dữ liệu. Những kiểu dữ liệu này là loại những giá trị có thể được biểu diễn và áp dụng trong ngôn ngữ lập trình. Javascript cho phép bạn làm việc với 3 kiểu dữ liệu nguyên thủy, đó là: Numbers: Đại diện cho dữ liệu kiểu số Strings: Đại điện cho dữ liệu kiểu chuổi văn bản. Boolean: Có hai giá trị là True và False. Javascript cũng định nghĩa ha kiểu dữ liệu nữa đó là null và undefined  , chúng có một giá trị đơn. JavaScript hỗ trợ một kiểu dữ liệu tổng hợp được gọi là đối tượng. Chúng ta sẽ đề cập chi tiết các đối tượng trong một bài khác. Lưu ý: Javascript không tạo ra khoảng cách giữa những giá trị integer và những giá trị floating-point. Tất cả số trong Javascript được coi như là dữ liệu floating-point (ví dụ: 123,132.4).

Algorithms: Tower of Hanoi

Có 3 chiếc cọc được đánh dấu lần lượt là A, B, C và n chiếc đĩa. Các đĩa này có kích thước khác nhau và mỗi đĩa đều có một lỗ ở giữa để cắm vào cọc. Ban đầu, các đĩa đều nằm ở cọc A, trong đó, đĩa nhỏ luôn nằm trên đĩa lớn hơn. Solution:

Bài 2: Bật Tắt Javascript trên các trình duyệt

Để Javascript có thể hoạt động trên trình duyệt thì yêu cầu đặt ra đó là trình duyệt đó phải hỗ trợ Javascript. Đa số các trình duyệt hiện đại hiện nay đều làm được việc đó. Trong bài này mình sẽ trình bày cho các bạn cách để bật tắt trình hỗ trợ chạy Javascript trên trình duyệt Chrome, Firefox, Internet Explore.