@@ -1114,3 +1114,54 @@ var mySqrt = function(x) {
11141114let x = 8 ;
11151115// 2
11161116// console.log(mySqrt(x));
1117+
1118+
1119+
1120+ /**
1121+ * 3583. Count Special Triplets
1122+ *
1123+ * special triplet = index i,j,k
1124+ * 0 <= i < j < k < nums.length
1125+ * nums[i] === nums[j] * 2
1126+ * nums[k] === nums[j] * 2
1127+ * return it modulo 10的9次方 + 7.
1128+ *
1129+ * @param {number[] } nums
1130+ * @return {number }
1131+ */
1132+ var specialTriplets = function ( nums ) {
1133+ let ans = 0 ;
1134+ // j as the middle of the triplet.
1135+ // For each j, you only need:
1136+ // how many values equal to 2 * nums[j] appear before j
1137+ // how many appear after j
1138+ // Then the contribution from index j is just:
1139+ // leftCount * rightCount
1140+ // let j = Math.floor(nums[nums.length % 2 ]);
1141+ // // console.log(j)
1142+ // for(let i = 0;i < nums.length;++i) {
1143+
1144+ // }
1145+
1146+ let left = new Map ( ) ;
1147+ let right = new Map ( ) ;
1148+ for ( let i = 0 ; i < nums . length ; ++ i ) {
1149+
1150+ }
1151+ } ;
1152+ let nums = [ 8 , 4 , 2 , 8 , 4 ] ;
1153+ /**
1154+ * 2
1155+ *
1156+ * There are exactly two special triplets:
1157+ * (i, j, k) = (0, 1, 3)
1158+ * nums[0] = 8, nums[1] = 4, nums[3] = 8
1159+ * nums[0] = nums[1] * 2 = 4 * 2 = 8
1160+ * nums[3] = nums[1] * 2 = 4 * 2 = 8
1161+ *
1162+ * (i, j, k) = (1, 2, 4)
1163+ * nums[1] = 4, nums[2] = 2, nums[4] = 4
1164+ * nums[1] = nums[2] * 2 = 2 * 2 = 4
1165+ * nums[4] = nums[2] * 2 = 2 * 2 = 4
1166+ */
1167+ console . log ( specialTriplets ( nums ) ) ;
0 commit comments