Example #1
0
    public int Flipgame(int[] fronts, int[] backs)
    {
        var set = new HashSet <int>(fronts.Union(backs));

        foreach (int x in fronts.Zip(backs, (a, b) => (Front: a, Back: b)).Where(tuple => tuple.Front == tuple.Back).Select(tuple => tuple.Front))
        {
            set.Remove(x);
        }
        return(set.DefaultIfEmpty(0).Min());
    }
Example #2
0
File: Spin.cs Project: stewmc/vixen
		//Validate that the we are using valid colors and set appropriate defaults if not.
		private void CheckForInvalidColorData()
		{
			HashSet<Color> validColors = new HashSet<Color>();
			validColors.AddRange(TargetNodes.SelectMany(x => ColorModule.getValidColorsForElementNode(x, true)));

			if (validColors.Any() &&
				(!validColors.Contains(_data.StaticColor) || !_data.ColorGradient.GetColorsInGradient().IsSubsetOf(validColors))) //Discrete colors specified
			{
				_data.ColorGradient = new ColorGradient(validColors.DefaultIfEmpty(Color.White).First());
				_data.StaticColor = validColors.First();
			}
		}
Example #3
0
        //Validate that the we are using valid colors and set appropriate defaults if not.
        private void CheckForInvalidColorData()
        {
            HashSet <Color> validColors = new HashSet <Color>();

            validColors.AddRange(TargetNodes.SelectMany(x => ColorModule.getValidColorsForElementNode(x, true)));

            if (validColors.Any() &&
                (!validColors.Contains(_data.StaticColor) || !_data.ColorGradient.GetColorsInGradient().IsSubsetOf(validColors)))                 //Discrete colors specified
            {
                _data.ColorGradient = new ColorGradient(validColors.DefaultIfEmpty(Color.White).First());
                _data.StaticColor   = validColors.First();
            }
        }
Example #4
0
    public static int Sum(IEnumerable <int> multiples, int max)
    {
        var sumTotal = new HashSet <ulong>();

        var x = 1_999_999_999UL + 1_999_999_999UL;

        foreach (int multiple in multiples.Where(m => m <= max && m > 0))
        {
            ulong total = 0;

            while (total + (ulong)multiple < (ulong)max)
            {
                total += (ulong)multiple;
                sumTotal.Add(total);
            }
        }

        return((int)sumTotal.DefaultIfEmpty().Aggregate((a, b) => a + b));
    }
Example #5
0
        public void TestCSharpSyntax()
        {
            var methodName = MethodBase.GetCurrentMethod().Name;

            ShowStarting(methodName);

            //const string path = @"C:\cygwin\home\kims336\Developments\InformedProteomics\InformedProteomics.Test\TestFiles\BSA_10ugml_IMS6_TOF03_CID_27Aug12_Frodo_Collision_Energy_Collapsed.UIMF";
            //Console.WriteLine(Path.GetFileName(path));
            //Console.WriteLine(Path.GetFileNameWithoutExtension(path));
            //Console.WriteLine(Path.GetExtension(path));
            //Console.WriteLine(Path.GetDirectoryName(path));

            //const int size = int.MaxValue/4-1;
            //var hugeList = new List<int>(size);
            //Console.WriteLine("Success: " + size + " " + hugeList.Capacity);

            var set = new HashSet <double>();

            Console.WriteLine("Max: " + set.DefaultIfEmpty().Max(n => n * 2));
        }
        public void Evaluate(int SpreadMax)
        {
            FFormerId.SliceCount          =
                FIdFresh.SliceCount       =
                    FIdRemoved.SliceCount = 0;

            for (int i = 0; i < FRemove.SliceCount; i++)
            {
                var remove = FRemove[i];
                remove = remove.Trim();
                if (remove == "")
                {
                    continue;
                }

                if (Data.ContainsKey(remove))
                {
                    var index = Data[remove];
                    FreeIndices.Add(index);
                    Data.Remove(remove);
                    Age.Remove(remove);
                    FIdRemoved.Add(index);
                }
            }


            for (int i = 0; i < FInput.SliceCount; i++)
            {
                var input = FInput[i].Trim();
                if (input == "")
                {
                    continue;
                }

                int index;
                if (!Data.ContainsKey(input))
                {
                    index = FreeIndices.DefaultIfEmpty(int.MinValue).First();;
                    if (index == int.MinValue)
                    {
                        index = RemoveOldest();
                        FIdRemoved.Add(index);
                    }

                    FreeIndices.Remove(index);
                    FIdFresh.Add(index);
                }
                else
                {
                    index = Data[input];
                }

                Data[input] = index;
                Age[input]  = DateTime.Now;
                FFormerId.Add(Data[input]);
            }

            var maxAge         = FTimeOut[0];
            var sessionEnabled = false;

            if (maxAge != null && maxAge.Ticks > 0)
            {
                sessionEnabled = true;
            }

            foreach (var item in Age.Keys.ToArray())
            {
                var index = Data[item];
                if (sessionEnabled && Age[item] + maxAge < DateTime.Now)
                {
                    FreeIndices.Add(index);
                    Data.Remove(item);
                    Age.Remove(item);
                    FIdRemoved.Add(index);
                }
            }

            var sorted = Data.Values.ToList();

            sorted.Sort();
            FId.AssignFrom(sorted);

            FOutput.SliceCount = 0;
            SpreadMax          = sorted.Count;

            FOutput.AssignFrom(
                from key in sorted
                from index in Data.Keys
                where Data[index] == key
                select index
                );
        }
Example #7
0
        public void TestCSharpSyntax()
        {
            var methodName = MethodBase.GetCurrentMethod().Name;
            ShowStarting(methodName);

            //const string path = @"C:\cygwin\home\kims336\Developments\InformedProteomics\InformedProteomics.Test\TestFiles\BSA_10ugml_IMS6_TOF03_CID_27Aug12_Frodo_Collision_Energy_Collapsed.UIMF";
            //Console.WriteLine(Path.GetFileName(path));
            //Console.WriteLine(Path.GetFileNameWithoutExtension(path));
            //Console.WriteLine(Path.GetExtension(path));
            //Console.WriteLine(Path.GetDirectoryName(path));

            //const int size = int.MaxValue/4-1;
            //var hugeList = new List<int>(size);
            //Console.WriteLine("Success: " + size + " " + hugeList.Capacity);

            var set = new HashSet<double>();
            Console.WriteLine("Max: " + set.DefaultIfEmpty().Max(n => n*2));
        }