public class Solution { public static void Main() { var haystack = "aaaaa"; var needle = "bba"; Solution solution = new Solution(); var result = solution.StrStr(haystack, needle); } public int StrStr(string haystack, string needle) { if (string.IsNullOrEmpty(needle)) return 0; int len = haystack.Length - needle.Length; for (int i = 0; i <= len; i++) { int j = i; foreach (var ch in needle) { if (ch != haystack[j]) break; j++; } if (j - i != needle.Length) continue; return i; } return -1; } }
13 Ocak 2022 Perşembe
Quest_28_Implement_strStr
12 Ocak 2022 Çarşamba
LeetCode Question 20: Remove Element - O(n) Complexity
public class Solution { public int RemoveElement(int[] nums, int val) { int increase = 0; for (int i = 0; i < nums.Length; i++) { if (nums[i] != val) { nums[increase] = nums[i]; increase++; } } return increase; } }
10 Ocak 2022 Pazartesi
LeetCode Question 20: Valid Parentheses - O(n) Complexity with Stack
public class Solution { public bool IsValid(string input) { Stack<char> stack = new(); if (input.Length == 1) { return false; } for (int i = 0; i < input.Length; i++) { if (input[i] == '(') { stack.Push(')'); continue; } if (input[i] == '{') { stack.Push('}'); continue; } if (input[i] == '[') { stack.Push(']'); continue; } if (stack.Count == 0) { return false; } var pop = stack.Pop(); if (pop != input[i]) { return false; } } if (stack.Count == 0) { return true; } else { return false; } } }
8 Ocak 2022 Cumartesi
LeetCode Question 14: Longest Common Prefix
public class Solution { public static void Main() { string[] array = new string[] { "fligg6", "flowerrrr11", "flo" }; Solution solution = new Solution(); var result = solution.LongestCommonPrefix(array); } public string LongestCommonPrefix(String[] strs) { var result = strs[0]; for (int i = 1; i < strs.Length; i++) { while (strs[i].StartsWith(result) == false) { result = result.Substring(0, result.Length - 1); } } return result; } }
Leetcode etiketler - tags
Başlık:
LeetCode Question NUMBER: NAME - O(n) Complexity with Stack)
tags:
LeetCode Questions,
LeetCode Question NUMBER: NAME - O(n) Complexity,
LeetCode NAME algoritma sorusu çözümü
LeetCode Question 13: Roman to Integer
public class Solution { public static void Main() { var romanText = "MXLIV"; Solution solution = new Solution(); var result = solution.RomanToInt(romanText); } public static Dictionary<char, int> _dictionary = new Dictionary<char, int> { {'I', 1}, {'V', 5}, {'X', 10}, {'L', 50}, {'C', 100}, {'D', 500}, {'M', 1000} }; public int RomanToInt(string romanText) { if (romanText.Length <= 0) { throw new Exception(); } var total = 0; var last = 0; foreach (var letter in romanText) { var currentLetterValue = TranslateToNumber(letter); if (currentLetterValue > last) { total -= last * 2; } total += currentLetterValue; last = currentLetterValue; } return total; } public static int TranslateToNumber(char c) { return _dictionary[c]; } }
7 Ocak 2022 Cuma
LeetCode Algorithms Question 9: Palindrome Number
public class Solution { public static void Main() { var number = 161; Solution solution = new Solution(); var result = solution.IsPalindrome(number); } public bool IsPalindrome(int number) { if (number < 0) { return false; } var remainder = 0; var reversedNumber = 0; var nonEditedNumber = number; while (number > 0) { remainder = number % 10; number = number / 10; reversedNumber = reversedNumber * 10 + remainder; } if (reversedNumber == nonEditedNumber) { return true; } return false; } }
LeetCode Question 1: Two Sum
namespace Quest_1_TwoSum
{
public class Solution
{
public static void Main()
{
int[] array = { 5, 7, 2, 6, 5, 1, 9 };
int target = 10;
Solution solution = new Solution();
var result = solution.TwoSum(array, target);
}
public int[] TwoSum(int[] array, int target)
{
Dictionary<int, int> dictionary = new();
var arrayLength = array.Length;
if (arrayLength < 2 || array == null)
{
return Array.Empty<int>();
}
for (int i = 0; i < arrayLength; i++)
{
var firstNumber = array[i];
var secondNumber = target - firstNumber;
if (dictionary.TryGetValue(secondNumber, out int secondNumberIndex))
{
return new int[] { secondNumberIndex, i};
}
dictionary[firstNumber] = i;
}
return Array.Empty<int>();
}
}
}
Kaydol:
Kayıtlar (Atom)