classSpreadsheet:def__init__(self,rows:int):self.d={}defsetCell(self,cell:str,value:int)->None:self.d[cell]=valuedefresetCell(self,cell:str)->None:self.d.pop(cell,None)defgetValue(self,formula:str)->int:ans=0forcellinformula[1:].split("+"):ans+=int(cell)ifcell[0].isdigit()elseself.d.get(cell,0)returnans# Your Spreadsheet object will be instantiated and called as such:# obj = Spreadsheet(rows)# obj.setCell(cell,value)# obj.resetCell(cell)# param_3 = obj.getValue(formula)
classSpreadsheet{privateMap<String,Integer>d=newHashMap<>();publicSpreadsheet(introws){}publicvoidsetCell(Stringcell,intvalue){d.put(cell,value);}publicvoidresetCell(Stringcell){d.remove(cell);}publicintgetValue(Stringformula){intans=0;for(Stringcell:formula.substring(1).split("\\+")){ans+=Character.isDigit(cell.charAt(0))?Integer.parseInt(cell):d.getOrDefault(cell,0);}returnans;}}/** * Your Spreadsheet object will be instantiated and called as such: * Spreadsheet obj = new Spreadsheet(rows); * obj.setCell(cell,value); * obj.resetCell(cell); * int param_3 = obj.getValue(formula); */
classSpreadsheet{private:unordered_map<string,int>d;public:Spreadsheet(introws){}voidsetCell(stringcell,intvalue){d[cell]=value;}voidresetCell(stringcell){d.erase(cell);}intgetValue(stringformula){intans=0;stringstreamss(formula.substr(1));stringcell;while(getline(ss,cell,'+')){if(isdigit(cell[0])){ans+=stoi(cell);}else{ans+=d.count(cell)?d[cell]:0;}}returnans;}};/** * Your Spreadsheet object will be instantiated and called as such: * Spreadsheet* obj = new Spreadsheet(rows); * obj->setCell(cell,value); * obj->resetCell(cell); * int param_3 = obj->getValue(formula); */
typeSpreadsheetstruct{dmap[string]int}funcConstructor(rowsint)Spreadsheet{returnSpreadsheet{d:make(map[string]int)}}func(this*Spreadsheet)SetCell(cellstring,valueint){this.d[cell]=value}func(this*Spreadsheet)ResetCell(cellstring){delete(this.d,cell)}func(this*Spreadsheet)GetValue(formulastring)int{ans:=0cells:=strings.Split(formula[1:],"+")for_,cell:=rangecells{ifval,err:=strconv.Atoi(cell);err==nil{ans+=val}else{ans+=this.d[cell]}}returnans}/** * Your Spreadsheet object will be instantiated and called as such: * obj := Constructor(rows); * obj.SetCell(cell,value); * obj.ResetCell(cell); * param_3 := obj.GetValue(formula); */
classSpreadsheet{privated:Map<string,number>;constructor(rows:number){this.d=newMap<string,number>();}setCell(cell:string,value:number):void{this.d.set(cell,value);}resetCell(cell:string):void{this.d.delete(cell);}getValue(formula:string):number{letans=0;constcells=formula.slice(1).split('+');for(constcellofcells){ans+=isNaN(Number(cell))?this.d.get(cell)||0:Number(cell);}returnans;}}/** * Your Spreadsheet object will be instantiated and called as such: * var obj = new Spreadsheet(rows) * obj.setCell(cell,value) * obj.resetCell(cell) * var param_3 = obj.getValue(formula) */