<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [LeetCode] 1357. Apply Discount Every n Orders 每隔n個顧客打折


      There is a supermarket that is frequented by many customers. The products sold at the supermarket are represented as two parallel integer arrays products and prices, where the ith product has an ID of products[i] and a price of prices[i].

      When a customer is paying, their bill is represented as two parallel integer arrays product and amount, where the jth product they purchased has an ID of product[j], and amount[j] is how much of the product they bought. Their subtotal is calculated as the sum of each amount[j] * (price of the jth product).

      The supermarket decided to have a sale. Every nth customer paying for their groceries will be given a percentage discount. The discount amount is given by discount, where they will be given discount percent off their subtotal. More formally, if their subtotal is bill, then they would actually pay bill * ((100 - discount) / 100).

      Implement the Cashier class:

      • Cashier(int n, int discount, int[] products, int[] prices) Initializes the object with n, the discount, and the products and their prices.
      • double getBill(int[] product, int[] amount) Returns the final total of the bill with the discount applied (if any). Answers within 10-5 of the actual value will be accepted.

      Example 1:

      Input
      ["Cashier","getBill","getBill","getBill","getBill","getBill","getBill","getBill"]
      [[3,50,[1,2,3,4,5,6,7],[100,200,300,400,300,200,100]],[[1,2],[1,2]],[[3,7],[10,10]],[[1,2,3,4,5,6,7],[1,1,1,1,1,1,1]],[[4],[10]],[[7,3],[10,10]],[[7,5,3,1,6,4,2],[10,10,10,9,9,9,7]],[[2,3,5],[5,3,2]]]
      Output
      [null,500.0,4000.0,800.0,4000.0,4000.0,7350.0,2500.0]
      Explanation
      Cashier cashier = new Cashier(3,50,[1,2,3,4,5,6,7],[100,200,300,400,300,200,100]);
      cashier.getBill([1,2],[1,2]); // return 500.0. 1st customer, no discount.
      // bill = 1 * 100 + 2 * 200 = 500.
      cashier.getBill([3,7],[10,10]); // return 4000.0. 2nd customer, no discount.
      // bill = 10 * 300 + 10 * 100 = 4000.
      cashier.getBill([1,2,3,4,5,6,7],[1,1,1,1,1,1,1]); // return 800.0. 3rd customer, 50% discount.
      // Original bill = 1600
      // Actual bill = 1600 * ((100 - 50) / 100) = 800.
      cashier.getBill([4],[10]); // return 4000.0. 4th customer, no discount.
      cashier.getBill([7,3],[10,10]); // return 4000.0. 5th customer, no discount.
      cashier.getBill([7,5,3,1,6,4,2],[10,10,10,9,9,9,7]); // return 7350.0. 6th customer, 50% discount.
      // Original bill = 14700, but with
      // Actual bill = 14700 * ((100 - 50) / 100) = 7350.
      cashier.getBill([2,3,5],[5,3,2]); // return 2500.0. 7th customer, no discount.

      Constraints:

      • 1 <= n <= 104
      • 0 <= discount <= 100
      • 1 <= products.length <= 200
      • prices.length == products.length
      • 1 <= products[i] <= 200
      • 1 <= prices[i] <= 1000
      • The elements in products are unique.
      • 1 <= product.length <= products.length
      • amount.length == product.length
      • product[j] exists in products.
      • 1 <= amount[j] <= 1000
      • The elements of product are unique.
      • At most 1000 calls will be made to getBill.
      • Answers within 10-5 of the actual value will be accepted.

      這道題讓給每n個訂單打折,給了個折扣數,以及產品和價格數組,表示 products[i] 產品的價格為 prices[i],現在給了一個產品組 product 和數量數組 amount,表示購買 product[i] 產品的數量為 ampunt[i] 個,讓求給定的訂單的價格。這道題沒有太大的難度,先用一個 HashMap 來簡歷產品和其價格之間的映射,然后用個全局變量 cnt 來統計已接受訂單的個數。在 getBill 函數中,先計算出買所有訂單內的產品的總價,然后判斷當前的訂單個數 cnt 是否能整除n,能的話再計算出打折后的價格即可,參見代碼如下:


      class Cashier {
      public:
          Cashier(int n, int discount, vector<int>& products, vector<int>& prices) {
              this->n = n;
              this->discount = discount;
              this->cnt = 0;
              for (int i = 0; i < products.size(); ++i) {
                  m[products[i]] = prices[i];
              }
          }
          
          double getBill(vector<int> product, vector<int> amount) {
              double res = 0;
              for (int i = 0; i < product.size(); ++i) {
                  res += m[product[i]] * amount[i];
              }
              if (++cnt % n == 0) {
                  res = (res * (100 - discount)) / 100;
              }
              return res;
          }
      
      private:
          int n, discount, cnt;
          unordered_map<int, int> m;
      };
      

      Github 同步地址:

      https://github.com/grandyang/leetcode/issues/1357


      類似題目:

      Apply Discount to Prices


      參考資料:

      https://leetcode.com/problems/apply-discount-every-n-orders

      https://leetcode.com/problems/apply-discount-every-n-orders/solutions/516990/java-python-3-hashmap-dictionary/


      LeetCode All in One 題目講解匯總(持續更新中...)

      posted @ 2023-10-29 02:29  Grandyang  閱讀(103)  評論(0)    收藏  舉報
      Fork me on GitHub
      主站蜘蛛池模板: 精品久久久久久中文字幕| 亚洲成人av一区免费看| 精品人妻av区乱码| 亚洲色无码专区一区| 日本亚洲欧洲无免费码在线| 亚洲AV片一区二区三区| 亚洲欧洲∨国产一区二区三区| 久久av中文字幕资源网| 国产精品永久在线观看| 99在线视频免费观看| 丰满人妻跪趴高撅肥臀| 久久精品熟女亚洲av艳妇| 99久久婷婷国产综合精品青草漫画| 治县。| 免费国产一级 片内射老| 激情自拍校园春色中文| 亚洲综合伊人久久大杳蕉| 日韩中文字幕人妻一区| 国产草草影院ccyycom| 浪潮av色综合久久天堂| 亚洲第一视频区| 亚洲国产成人综合精品| 亚洲人成网站77777在线观看| 精品九九人人做人人爱| 国产成人亚洲精品日韩激情| 久久久国产乱子伦精品作者| 吉川爱美一区二区三区视频| 久久人人爽人人爽人人av| 粉嫩小泬无遮挡久久久久久| 一区二区三区激情都市| 闽清县| 久久精品青青大伊人av| 天天爽夜夜爱| 少妇被日自拍黄色三级网络| 中文字幕一区二区网站| 高清自拍亚洲精品二区| 日本不卡的一区二区三区| 天天干天天日| 亚洲精品综合网在线8050影院| 久久91精品牛牛| 中文字幕亚洲综合小综合|