Posts

2997. Minimum Number of Operations to Make Array XOR Equal to K

  You are given a   0-indexed   integer array   nums   and a positive integer   k . You can apply the following operation on the array  any  number of times: Choose  any  element of the array and  flip  a bit in its  binary  representation. Flipping a bit means changing a  0  to  1  or vice versa. Return  the  minimum  number of operations required to make the bitwise  XOR  of  all  elements of the final array equal to  k . Note  that you can flip leading zero bits in the binary representation of elements. For example, for the number  (101) 2  you can flip the fourth bit and obtain  (1101) 2 .   Example 1: Input: nums = [2,1,3,4], k = 1 Output: 2 Explanation: We can do the following operations: - Choose element 2 which is 3 == (011) 2 , we flip the first bit and we obtain (010) 2 == 2. nums becomes [2,1,2,4]. - Choose element 0 wh...

514. Freedom Trail

Image
  In the video game Fallout 4, the quest   "Road to Freedom"   requires players to reach a metal dial called the   "Freedom Trail Ring"   and use the dial to spell a specific keyword to open the door. Given a string  ring  that represents the code engraved on the outer ring and another string  key  that represents the keyword that needs to be spelled, return  the minimum number of steps to spell all the characters in the keyword . Initially, the first character of the ring is aligned at the  "12:00"  direction. You should spell all the characters in  key  one by one by rotating  ring  clockwise or anticlockwise to make each character of the string key aligned at the  "12:00"  direction and then by pressing the center button. At the stage of rotating the ring to spell the key character  key[i] : You can rotate the ring clockwise or anticlockwise by one place, which counts as  one step . Th...

1289. Minimum Falling Path Sum II

Image
  Given an   n x n   integer matrix   grid , return   the minimum sum of a  falling path with non-zero shifts . A  falling path with non-zero shifts  is a choice of exactly one element from each row of  grid  such that no two elements chosen in adjacent rows are in the same column.   Example 1: Input: grid = [[1,2,3],[4,5,6],[7,8,9]] Output: 13 Explanation: The possible falling paths are: [1,5,9], [1,5,7], [1,6,7], [1,6,8], [2,4,8], [2,4,9], [2,6,7], [2,6,8], [3,4,8], [3,4,9], [3,5,7], [3,5,9] The falling path with the smallest sum is [1,5,7], so the answer is 13. Example 2: Input: grid = [[7]] Output: 7   Constraints: n == grid.length == grid[i].length 1 <= n <= 200 -99 <= grid[i][j] <= 99 ANSWER: class Solution {     public int minFallingPathSum(int[][] grid) {         int firstMin = 0;         int secondMin = 0;         int fi...