Ice Cream Parlor

Sort by

recency

|

29 Discussions

|

  • + 0 comments

    Java 15

        public static List<Integer> icecreamParlor(int m, List<Integer> arr) {
            for (int i = 0; i < arr.size() - 1; i++) {
                List<Integer> sList = arr.subList(i + 1, arr.size());
                int complementLoc = sList.lastIndexOf(m - arr.get(i));
                if (complementLoc >= 0) {
                    return List.of(i + 1, complementLoc + i + 2);
                }
            }
            return new ArrayList<>();
        }
    
  • + 0 comments
    public static List<int> IcecreamParlor(int m, int[] arr)
    {
        var pairs = arr.Select((x, i) => (x, i)).OrderBy(p => p.x).ToArray();
        arr = pairs.Select(p => p.x).ToArray();
        var idxs = pairs.Select(p => p.i+1).ToArray();
        var i=0;
        var j=arr.Length-1;
        while(true){
            var v = arr[i] + arr[j];
            if(v == m) return new List<int>{idxs[i], idxs[j]}.Order().ToList();
            if(v > m) j--;
            if(v < m) i++;
        }
    }
    
  • + 0 comments

    Typescript

    function icecreamParlor(m: number, arr: number[]): number[] {
      let obj = {} as any;
    
      for (let i = 0; i < arr.length; i++) {
        obj[arr[i]] = i;
      }
    
      for (let j = 0; j < arr.length; j++) {
        const target = m - arr[j];
        if (obj[target] && obj[target] !== j) {
          return [j + 1, obj[target] + 1];
        }
      }
    
      return [];
    }
    
  • + 0 comments

    Java

    public static List<Integer> icecreamParlor(int m, List<Integer> arr) {
            Map<Integer, Integer> flavorMap = new HashMap<>();
            
            for (int i = 0; i < arr.size(); i++) {
                int currentFlavorCost = arr.get(i);
                int complementCost = m - currentFlavorCost;
                
                if (flavorMap.containsKey(complementCost)) {
                    return Arrays.asList(flavorMap.get(complementCost) + 1, i + 1);
                }
                
                flavorMap.put(currentFlavorCost, i);
            }
            
            return null; 
        }
    
  • + 0 comments
    def icecreamParlor(m, arr):
        for i,e in enumerate(arr):
            n = (arr[:i]+arr[i+1:])
            if m-e in n:
                return [i+1, n.index(m-e)+2]