Anonymous user
Run-length encoding: Difference between revisions
→Linq: Cleaned up code
(→Linq) |
(→Linq: Cleaned up code) |
||
Line 686:
<lang csharp>using System.Collections.Generic;
using System.Linq;
using static System.Console;
using MoreLinq; // best addon library for linq - NOT using built in runlengthencoding() method here
namespace RunLengthEncoding
Line 694:
{
public static string Encode(string input) => input
.
.
.GroupBy(kvp => kvp.key, (_, vals) => vals.Select(t => t.val))▼
.Select(v=> $"{v.Count()}{v.First()}")
.
public static string Decode(string input) => input
.
.Skip(1)
.GroupBy(t => t.key, (_, grp) => grp.Select(c => c.val))
.Select(p => new string(p.Last(), int.Parse(string.Concat(p.SkipLast(1)))))
.
private static string StringConcat(this IEnumerable<string> seq) => string.Concat(seq);
public static void Main(string[] args)
Line 738 ⟶ 734:
using System.Linq;
using static System.Console;
using MoreLinq; // best/most popular addon library for linq - NOT using built in runlengthencoding() method here
namespace RunLengthEncoding
Line 743 ⟶ 740:
static class Program
{
public static
public static string Decode(IEnumerable<(int i , char c)> input) =>
|