Skip to content

Commit 15ede2c

Browse files
committed
added target array in given order
1 parent 72ece28 commit 15ede2c

File tree

4 files changed

+25
-2
lines changed

4 files changed

+25
-2
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@
77
* [Running Sum of 1d Array](https://leetcode.com/problems/running-sum-of-1d-array/)
88
* [FizzBuzz](https://leetcode.com/problems/fizz-buzz/)
99
* [Smaller Numbers Then Current](https://leetcode.com/problems/how-many-numbers-are-smaller-than-the-current-number/)
10-
* [Number Of Steps To Reach Zero](https://leetcode.com/problems/number-of-steps-to-reduce-a-number-to-zero/)
10+
* [Number Of Steps To Reach Zero](https://leetcode.com/problems/number-of-steps-to-reduce-a-number-to-zero/)
11+
* [Create Target Array In Given Order](https://leetcode.com/problems/create-target-array-in-the-given-order/)

haskell-things.cabal

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,9 @@ executable haskell-things
1818
main-is: Main.hs
1919
default-language: Haskell2010
2020
build-depends: base >= 4.7 && < 5, containers
21-
other-modules: TwoSum, FizzBuzz, RunningSum, SmallerNumbersThanCurrent, NumOfStepsToReduceNumToZero
21+
other-modules: TwoSum
22+
, FizzBuzz
23+
, RunningSum
24+
, SmallerNumbersThanCurrent
25+
, NumOfStepsToReduceNumToZero
26+
, TargetArrayInGivenOrder

src/Main.hs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import TwoSum
55
import RunningSum
66
import SmallerNumbersThanCurrent
77
import NumOfStepsToReduceNumToZero
8+
import TargetArrayInGivenOrder
89

910
main :: IO ()
1011
main = do
@@ -22,3 +23,6 @@ main = do
2223
print $ numOfStepsToReduceNumToZero 14
2324
print $ numOfStepsToReduceNumToZero 8
2425
print $ numOfStepsToReduceNumToZero 123
26+
putStrLn "<-- Target Array In Given Order -->"
27+
print $ targetArrayInGivenOrder [0, 1, 2, 3, 4] [0, 1, 2, 2, 1]
28+
print $ targetArrayInGivenOrder [1, 2, 3, 4, 0] [0, 1, 2, 3, 0]

src/TargetArrayInGivenOrder.hs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
module TargetArrayInGivenOrder ( targetArrayInGivenOrder ) where
2+
3+
-- https://leetcode.com/problems/create-target-array-in-the-given-order/submissions/
4+
5+
targetArrayInGivenOrder :: [Int] -> [Int] -> [Int]
6+
targetArrayInGivenOrder nums index = targetArrayInGivenOrder' l []
7+
where l = zip nums index
8+
9+
targetArrayInGivenOrder' :: [(Int, Int)] -> [Int] -> [Int]
10+
targetArrayInGivenOrder' (h:t) l =
11+
targetArrayInGivenOrder' t (let (ys, xs) = splitAt (snd h) l in ys ++ [fst h] ++ xs)
12+
13+
targetArrayInGivenOrder' [] x = x

0 commit comments

Comments
 (0)