Problem Statement
- 1) Increment a digit less than 9 by 1. For example, changing 354 to 364.
- 2) Decrement a digit greater than 0 by 1. For example, changing 354 to 254.
- 3) Swapping two digits. For example, changing 354 to 453.
Definition
- Class:
- NumberChanger
- Method:
- transform
- Parameters:
- String, String
- Returns:
- int
- Method signature:
- int transform(String start, String finish)
- (be sure your method is public)
Constraints
- start will contain between 1 and 8 characters inclusive.
- Each character in start will be a digit ('0'-'9').
- finish will contain the same number of characters as start.
Examples
"01234567"
"01234567"
Returns: 0
No steps required.
"11119999"
"99991111"
Returns: 4
4 swaps does the trick.
"55555555"
"12345678"
Returns: 16
Swapping is of no use here.
"77771111"
"00446688"
Returns: 16
"00000000"
"99999999"
Returns: 72
"99999999"
"00000000"
Returns: 72
"87654321"
"12346578"
Returns: 5
"12"
"30"
Returns: 3
"059"
"905"
Returns: 2
"02468"
"24680"
Returns: 4
"0123"
"3012"
Returns: 3
"01234567"
"73620415"
Returns: 6
"456"
"321"
Returns: 9
"89947230"
"87096236"
Returns: 7
"38367511"
"43302266"
Returns: 13
"72436509"
"84935180"
Returns: 9
"56082355"
"53492531"
Returns: 8
"63862421"
"53745891"
Returns: 13
"19104918"
"92147889"
Returns: 17
"68200189"
"55827715"
Returns: 17
"72565307"
"61920113"
Returns: 18
"55380499"
"88567672"
Returns: 15
"04811197"
"54818197"
Returns: 12
"94345748"
"58802170"
Returns: 17
"79058423"
"79184149"
Returns: 9
"16615570"
"99467717"
Returns: 21
"19905744"
"83480384"
Returns: 11
"75164993"
"42885974"
Returns: 9
"04806600"
"99819265"
Returns: 26
"36117291"
"33665567"
Returns: 19
"80038643"
"56000957"
Returns: 11
"60433723"
"82823237"
Returns: 11
"90071967"
"51488914"
Returns: 13
"04707073"
"48079239"
Returns: 16
"64644364"
"74998750"
Returns: 20
"07977642"
"64316104"
Returns: 20
"61858881"
"21793066"
Returns: 15
"01922912"
"57435313"
Returns: 19
"40075941"
"11456311"
Returns: 14
"92672676"
"06243660"
Returns: 20
"93698429"
"02397095"
Returns: 16
"99637368"
"56395540"
Returns: 17
"53138606"
"69919709"
Returns: 19
"25193673"
"77562755"
Returns: 15
"72300580"
"88900386"
Returns: 18
"46462363"
"30951919"
Returns: 20
"73505416"
"69417260"
Returns: 11
"95443496"
"84260951"
Returns: 12
"02550759"
"65828885"
Returns: 21
"65653794"
"38976439"
Returns: 11
"18471993"
"68943633"
Returns: 11
"79579169"
"98312082"
Returns: 22
"78947846"
"48344568"
Returns: 13
"28379253"
"42400673"
Returns: 17
"84494505"
"39927509"
Returns: 13
"26949759"
"67937675"
Returns: 10
"68368517"
"92976017"
Returns: 11
"53532720"
"84967987"
Returns: 31
"39382638"
"33686363"
Returns: 9
"76891254"
"81603790"
Returns: 13
"54031328"
"64266736"
Returns: 17
"22207354"
"38101073"
Returns: 10
"73435097"
"39711228"
Returns: 12
"77771111"
"00446688"
Returns: 16
"12"
"30"
Returns: 3
"059"
"905"
Returns: 2
"09532547"
"18815089"
Returns: 14
"90617283"
"06172839"
Returns: 7
"01236789"
"12307890"
Returns: 12
"1234"
"8756"
Returns: 16
"174"
"611"
Returns: 5
"12345"
"51234"
Returns: 4
"12344321"
"09873456"
Returns: 25
"059"
"590"
Returns: 2
"951"
"519"
Returns: 2
"45"
"65"
Returns: 2
"123456"
"234561"
Returns: 5
"12345678"
"87345621"
Returns: 2
"495768"
"759486"
Returns: 3
"900"
"009"
Returns: 1
"15913579"
"91691352"
Returns: 9
"77771111"
"00446688"
Returns: 16
"12"
"30"
Returns: 3
"059"
"905"
Returns: 2
"09532547"
"18815089"
Returns: 14
"90617283"
"06172839"
Returns: 7
"01236789"
"12307890"
Returns: 12
"1234"
"8756"
Returns: 16
"174"
"611"
Returns: 5
"12345"
"51234"
Returns: 4
"12344321"
"09873456"
Returns: 25
"059"
"590"
Returns: 2
"951"
"519"
Returns: 2
"45"
"65"
Returns: 2
"123456"
"234561"
Returns: 5
"12345678"
"87345621"
Returns: 2
"495768"
"759486"
Returns: 3
"900"
"009"
Returns: 1
"15913579"
"91691352"
Returns: 9