華爲OD機試 網上商城優惠活動

本期題目:網上商城優惠活動

題目

  • 背景 某網上商城舉辦優惠活動,發佈了滿減、打折、無門檻 3 種優惠券,分別爲:

    1. 每滿100元優惠10元,無使用數限制,如100~199元可以使用1張減10元,200~299可使用2張減20元,以此類推;
    2. 92折券,1次限使用1張,如100元,則優惠後爲92元;
    3. 無門檻5元優惠券,無使用數限制,直接減5元。
  • 優惠券使用限制 每次最多使用2種優惠券,2種優惠可以疊加(優惠疊加時以優惠後的價格計算), 以購物200元爲例,可以先用92折券優惠到184元,再用1張滿減券優惠10元,最終價格是174元, 也可以用滿減券2張優惠20元180元,再使用92折券優惠到165(165.6 向下取整)元, 不同使用順序的優惠價格不同,以最優惠價格爲準。 在一次購物中,同一類型優惠券使用多張時必須一次性使用, 不能分多次拆開穿插使用(不允許先使用 1 張滿減券,再用打折券,再使用一張滿減券)。

  • 問題 請設計實現一種解決方法,幫助購物者以最少的優惠券獲得最優的優惠價格。 優惠後價格越低越好,同等優惠價格,使用的優惠券越少越好,可以允許某次購物不使用優惠券。

  • 約定 優惠活動每人只能參加一次,每個人的優惠券種類和數量是一樣的。

輸入

第一行:每個人擁有的優惠券數量(數量取值範圍爲[0, 10]),按滿減、打折、無門檻的順序輸入。 第二行:表示購物的人數n(1 <= n <= 10000)

最後 n 行:每一行表示某個人優惠前的購物總價格(價格取值範圍(0, 1000],都爲整數)。

約定:輸入都是符合題目設定的要求的。

輸出

每行輸出每個人每次購物優惠後的最低價格以及使用的優惠券總數量,每行的輸出順序和輸入的順序保持一致。

備註

  1. 優惠券數量都爲整數,取值範圍爲[0, 10]
  2. 購物人數爲整數,取值範圍爲[1, 10000]
  3. 優惠券的購物總價爲整數,取值範圍爲(0, 1000]
  4. 優惠後價格如果是小數,則向下取整,輸出都爲整數。

題解地址 📤

華爲 OD 機試

今年大環境不好,投遞簡歷沒得到回覆,只有華爲 OD 和幾個外包公司聯繫上。機試分三道編程題,滿分 400 分,150 分及格,分數越高推薦的部門越多。性格測試 50 道選擇題,前後答案需一致,儘量往積極陽光方向靠攏。技術一面問八股文和基礎 SQL 優化、索引等,手撕編程題。技術二面問項目經驗和實現細節,手撕中等難度編程題。主管面和 HR 資面詢問工作時間和離職原因,談薪資。整個面試過程持續約 2 周,最終通過。雖然機試分數不到 300 分,但面試官在技術二面給筆者更多機會,使面試時間超過了 90 分鐘。雖然 OD 待遇不比其他公司高多少,但篩選出優秀人才的目的促使筆者參加面試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章