public int MinJumps2(int[] arr) { if (arr.Length == 1) { return(0); } var firstItem = arr.First(); var lastItem = arr.Last(); if (firstItem == lastItem) { return(1); } var calcDic = new Dictionary <int, DicEntity>(); calcDic[firstItem] = new DicEntity(int.MinValue, 0); for (int i = 0; i < arr.Length - 1; i++) { var curValue = arr[i]; var curEntity = calcDic[curValue]; if (i != 0) { var leftValue = arr[i - 1]; Opera(calcDic, curValue, leftValue, curEntity.Count); } var rightValue = arr[i + 1]; Opera(calcDic, curValue, rightValue, curEntity.Count); } return(calcDic[lastItem].Count); }
public string DicsSaveChanges(string jsonString, string action) { try { DicEntity ue = JsonConvert.DeserializeObject <DicEntity>(jsonString); DicManager dm = new DicManager(); if (action == "add") { ue.iId = Guid.NewGuid().ToString(); ue.iKey = ue.iValue; ue.iCreatedBy = SessionHelper.CurrentUser.iUserName; ue.iUpdatedBy = SessionHelper.CurrentUser.iUserName; dm.Insert(ue); } else { DicEntity ueOld = dm.GetDic(ue.iId); ue.iUpdatedBy = SessionHelper.CurrentUser.iUserName; ue.iKey = ueOld.iKey; ue.iCreatedBy = ueOld.iCreatedBy; ue.iCreatedOn = ueOld.iCreatedOn; dm.Update(ue); } return("success"); } catch (Exception e) { return(e.ToString()); } }
public string MinWindow(string s, string t) { var resLength = int.MaxValue; var resStr = ""; var dic = t.GroupBy(i => i).ToDictionary(i => i.Key, j => j.Count()); var tEntity = new DicEntity(dic); var charSets = tEntity.GetCharSets(); var r = DicEntity.BuilderCountDicEntity(charSets); var rIndex = 0; var lIndex = -1; while (rIndex < s.Length) { r.AddChar(s[rIndex]); while (r.Equals(tEntity)) { if (resLength > rIndex - lIndex) { resLength = rIndex - lIndex; resStr = s.Substring(lIndex + 1, rIndex - lIndex); } lIndex++; r.SubChar(s[lIndex]); } rIndex++; } return(resStr); }
public ActionResult Save(DicEntity entity) { Dictionary <string, object> paras = new Dictionary <string, object>(); paras["id"] = entity.id; paras["name"] = entity.name; paras["tag"] = entity.tag; paras["sort"] = entity.sort; paras["code"] = entity.code; return(OperationReturn(DALUtility.Dic.Save(paras) > 0)); }
public ActionResult Form(int id = 0, int tag = 0) { DicEntity entity = new DicEntity(); entity.tag = tag; if (id > 0) { entity = DALUtility.Dic.GetDicById(id); } ViewData["list"] = DALUtility.Dic.GetDicByTag(0).ToList(); ViewData["entity"] = entity; return(View("_Form")); }
public void Update(DicEntity entity) { entity.iUpdatedOn = DateTime.Now; IDbSession session = SessionFactory.CreateSession(); try { session.BeginTrans(); Repository.Update <DicEntity>(session.Connection, entity, session.Transaction); session.Commit(); } catch (System.Exception) { session.Rollback(); throw; } finally { session.Dispose(); } }
private void Opera(Dictionary <int, DicEntity> calcDic, int preValue, int curValue, int preCount) { if (!calcDic.ContainsKey(curValue)) { calcDic[curValue] = new DicEntity(preValue, preCount + 1); return; } var entityTemp = calcDic[curValue]; if (entityTemp.Count <= preCount) { if (entityTemp.PreValue != curValue) { entityTemp.PreValue = curValue; entityTemp.Count++; } return; } entityTemp.PreValue = preValue; entityTemp.Count = preCount + 1; }