Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
OneAwayString
//Rextester.Program.Main is the entry point for your code. Don't change it. //Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5 using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; namespace Rextester { public class Program { public static void Main(string[] args) { /*isOneAway("abcde", "abcd"); // should return true isOneAway("abde", "abcde"); // should return true isOneAway("a", "a"); // should return true isOneAway("abcdef", "abqdef"); // should return true isOneAway("abcdef", "abccef"); // should return true isOneAway("abcdef", "abcde"); // should return true isOneAway("aaa", "abc"); // should return false isOneAway("abcde", "abc"); // should return false isOneAway("abc", "abcde"); // should return false isOneAway("abc", "bcc"); // should return false*/ Console.WriteLine(isOneAway("abqde", "abcdf")); } public static bool isOneAway(string a, string b){ if( a.Length - b.Length >=2 || b.Length - a.Length >=2 ) return false; else if( a.Length == b.Length ) return isSameLength(a, b); else if ( a.Length > b.Length ) return isDifferentLength( a, b); else return isDifferentLength ( b, a); } public static bool isSameLength( string a, string b) { int count = 0; for (int i=0; i< a.Length; i++) { if( a[i] != b[i] ) { count += 1; if (count > 1) return false; } } return true; } public static bool isDifferentLength( string a, string b) { int i = 0, count = 0; while ( i < b.Length ) { if( a[i+count] == b[i] ) i +=1 ; else count += 1; if (count > 1) return false; } return true; } } }
run
|
edit
|
history
|
help
0
show IP
PhoneBook- Dictionary
Const
convert a string of numbers to a list then use a forEach to loop through the list
Hi
GetEnumerator
cte-like constructs in C#
Validate or get the check digit of a Windows activation installation ID / confirmation ID
3
Brainf*ck interpreter