Documentation ¶
Index ¶
Constants ¶
const TargetMax = 24 + 1e-3
const TargetMin = 24 - 1e-3
Variables ¶
This section is empty.
Functions ¶
func PredictTheWinner ¶
486. 预测赢家 给定一个表示分数的非负整数数组。 玩家 1 从数组任意一端拿取一个分数,随后玩家 2 继续从剩余数组任意一端拿取分数,然后玩家 1 拿,…… 。每次一个玩家只能拿取一个分数,分数被拿取之后不再可取。直到没有剩余分数可取时游戏结束。最终获得分数总和最多的玩家获胜。
给定一个表示分数的数组,预测玩家1是否会成为赢家。你可以假设每个玩家的玩法都会使他的分数最大化。
示例 1:
输入:[1, 5, 2] 输出:False 解释:一开始,玩家1可以从1和2中进行选择。 如果他选择 2(或者 1 ),那么玩家 2 可以从 1(或者 2 )和 5 中进行选择。如果玩家 2 选择了 5 ,那么玩家 1 则只剩下 1(或者 2 )可选。 所以,玩家 1 的最终分数为 1 + 2 = 3,而玩家 2 为 5 。 因此,玩家 1 永远不会成为赢家,返回 False 。 示例 2:
输入:[1, 5, 233, 7] 输出:True 解释:玩家 1 一开始选择 1 。然后玩家 2 必须从 5 和 7 中进行选择。无论玩家 2 选择了哪个,玩家 1 都可以选择 233 。
最终,玩家 1(234 分)比玩家 2(12 分)获得更多的分数,所以返回 True,表示玩家 1 可以成为赢家。
提示:
1 <= 给定的数组长度 <= 20. 数组里所有分数都为非负数且不会大于 10000000 。 如果最终两个玩家的分数相等,那么玩家 1 仍为赢家。
func PredictTheWinnerMax ¶
Types ¶
type RandomizedCollection ¶
type RandomizedCollection struct {
// contains filtered or unexported fields
}
381. O(1) 时间插入、删除和获取随机元素 - 允许重复 设计一个支持在平均 时间复杂度 O(1) 下, 执行以下操作的数据结构。
注意: 允许出现重复元素。
insert(val):向集合中插入元素 val。 remove(val):当 val 存在时,从集合中移除一个 val。 getRandom:从现有集合中随机获取一个元素。每个元素被返回的概率应该与其在集合中的数量呈线性相关。 示例:
// 初始化一个空的集合。 RandomizedCollection collection = new RandomizedCollection();
// 向集合中插入 1 。返回 true 表示集合不包含 1 。 collection.insert(1);
// 向集合中插入另一个 1 。返回 false 表示集合包含 1 。集合现在包含 [1,1] 。 collection.insert(1);
// 向集合中插入 2 ,返回 true 。集合现在包含 [1,1,2] 。 collection.insert(2);
// getRandom 应当有 2/3 的概率返回 1 ,1/3 的概率返回 2 。 collection.getRandom();
// 从集合中删除 1 ,返回 true 。集合现在包含 [1,2] 。 collection.remove(1);
// getRandom 应有相同概率返回 1 和 2 。 collection.getRandom();
func (*RandomizedCollection) GetRandom ¶
func (this *RandomizedCollection) GetRandom() int
* Get a random element from the collection.
func (*RandomizedCollection) Insert ¶
func (this *RandomizedCollection) Insert(val int) bool
* Inserts a value to the collection. Returns true if the collection did not already contain the specified element.
func (*RandomizedCollection) Remove ¶
func (this *RandomizedCollection) Remove(val int) bool
* Removes a value from the collection. Returns true if the collection contained the specified element.
Source Files ¶
- 0001.twoSum.go
- 0003.lengthOfLongestSubstring.go
- 0005.longestPalindrome.go
- 0006.convert.go
- 0007.reverse.go
- 0008.myAtoi.go
- 0014.longestCommonPrefix.go
- 0017.letterCombinations.go
- 0018.fourSum.go
- 0019.removeNthFromEnd.go
- 0020.isValid.go
- 0024.swapPairs.go
- 0027.removeElement.go
- 0031.nextPermutation.go
- 0034.searchRange.go
- 0037.solveSudoku.go
- 0039.combinationSum.go
- 0040.combinationSum2.go
- 0043.multiply.go
- 0047.permuteUnique.go
- 0048.rotate.go
- 0049.groupAnagrams.go
- 0051.solveNQueens.go
- 0052.totalNQueens.go
- 0057.insert.go
- 0058.lengthOfLastWord.go
- 0060.getPermutation.go
- 0062.uniquePaths.go
- 0067.addBinary.go
- 0070.climbStairs.go
- 0075.sortColors.go
- 0077.combine.go
- 0078.subsets.go
- 0079.exist.go
- 0085.maximalRectangle.go
- 0086.partition.go
- 0093.restoreIpAddresses.go
- 0094.inorderTraversal.go
- 0099.recoverTree.go
- 0100.isBalanced.go
- 0100.isSameTree.go
- 0103.zigzagLevelOrder.go
- 0106.buildTree.go
- 0107.levelOrderBottom.go
- 0109.sortedListToBST.go
- 0111.minDepth.go
- 0113.pathSum.go
- 0114.connect.go
- 0117.connect.go
- 0118.generate.go
- 0119.getRow.go
- 0122.maxProfit.go
- 0123.maxProfit.go
- 0127.ladderLength.go
- 0129.sumNumbersDFS.go
- 0130.solve.go
- 0132.minCut.go
- 0133.cloneGraph.go
- 0134.canCompleteCircuit.go
- 0135.candy.go
- 0137.sortString.go
- 0140.wordBreak.go
- 0141.hasCycle.go
- 0142.detectCycle.go
- 0143.reorderList.go
- 0144.preorderTraversal.go
- 0145.postorderTraversal.go
- 0147.insertionSortList.go
- 0148.sortList.go
- 0164.maximumGap.go
- 0188.maxProfit.go
- 0189.rotate.go
- 0193.Bash.go
- 0201.rangeBitwiseAnd.go
- 0203.removeElements.go
- 0204.countPrimes.go
- 0205.isIsomorphic.go
- 0214.shortestPalindrome.go
- 0216.combinationSum3.go
- 0217.containsDuplicate.go
- 0222.countNodes.go
- 0224.calculate.go
- 0226.invertTree.go
- 0228.summaryRanges.go
- 0234.isPalindrome.go
- 0235.lowestCommonAncestor.go
- 0239.maxSlidingWindow.go
- 0242.isAnagram.go
- 0257.binaryTreePaths.go
- 0283.moveZeroes.go
- 0290.wordPattern.go
- 0316.removeDuplicateLetters.go
- 0321.maxNumber.go
- 0327.countRangeSum.go
- 0328.oddEvenList.go
- 0330.minPatches.go
- 0331.isValidSerialization.go
- 0332.findItinerary.go
- 0338.countBits.go
- 0344.reverseString.go
- 0347.topKFrequent.go
- 0349.intersection.go
- 0354.maxEnvelopes.go
- 0376.wiggleMaxLength.go
- 0381.RandomizedCollection.go
- 0387.firstUniqChar.go
- 0389.findTheDifference.go
- 0395.longestSubstring.go
- 0399.calcEquation.go
- 0402.removeKdigits.go
- 0404.sumOfLeftLeaves.go
- 0406.reconstructQueue.go
- 0415.addStrings.go
- 0416.canPartition.go
- 0424.characterReplacement.go
- 0435.eraseOverlapIntervals.go
- 0448.findDisappearedNumbers.go
- 0452.findMinArrowShots.go
- 0454.fourSumCount.go
- 0455.findContentChildren.go
- 0459.repeatedSubstringPattern.go
- 0461.hammingDistance.go
- 0463.islandPerimeter.go
- 0474.findMaxForm.go
- 0475.findRadius.go
- 0480.medianSlidingWindow.go
- 0485.findMaxConsecutiveOnes.go
- 0486.PredictTheWinner.go
- 0491.findSubsequences.go
- 0493.reversePairs.go
- 0501.findMode.go
- 0503.nextGreaterElements.go
- 0509.fib.go
- 0514.findRotateSteps.go
- 0528.convertBST.go
- 0530.getMinimumDifference.go
- 0532.findPairs.go
- 0546.removeBoxes.go
- 0547.findCircleNum.go
- 0557.reverseWords.go
- 0561.arrayPairSum.go
- 0566.matrixReshape.go
- 0567.checkInclusion.go
- 0581.findUnsortedSubarray.go
- 0605.canPlaceFlowers.go
- 0617.mergeTrees.go
- 0621.leastInterval.go
- 0628.maximumProduct.go
- 0633.judgeSquareSum.go
- 0637.averageOfLevels.go
- 0643.findMaxAverage.go
- 0647.countSubstrings.go
- 0649.predictPartyVictory.go
- 0657.judgeCircle.go
- 0659.isPossible.go
- 0665.checkPossibility.go
- 0674.findLengthOfLCIS.go
- 0679.judgePoint24.go
- 0684.findRedundantConnection.go
- 0685.findRedundantDirectedConnection.go
- 0686.repeatedStringMatch.go
- 0696.countBinarySubstrings.go
- 0697.findShortestSubArray.go
- 0701.insertIntoBST.go
- 0714.maxProfit.go
- 0721.accountsMerge.go
- 0724.pivotIndex.go
- 0733.floodFill.go
- 0738.monotoneIncreasingDigits.go
- 0746.minCostClimbingStairs.go
- 0763.partitionLabels.go
- 0765.minSwapsCouples.go
- 0766.isToeplitzMatrix.go
- 0767.reorganizeString.go
- 0771.numJewelsInStones.go
- 0778.swimInWater.go
- 0803.hitBricks.go
- 0804.uniqueMorseRepresentations.go
- 0830.numSimilarGroups.go
- 0832.flipAndInvertImage.go
- 0834.sumOfDistancesInTree.go
- 0839.numSimilarGroups.go
- 0840.numMagicSquaresInside.go
- 0841.canVisitAllRooms.go
- 0842.splitIntoFibonacci.go
- 0844.backspaceCompare.go
- 0845.longestMountain.go
- 0860.lemonadeChange.go
- 0861.matrixScore.go
- 0867.transpose.go
- 0874.robotSim.go
- 0888.fairCandySwap.go
- 0896.isMonotonic.go
- 0922.sortArrayByParityII.go
- 0925.isLongPressedName.go
- 0941.validMountainArray.go
- 0947.removeStones.go
- 0949.largestTimeFromDigits.go
- 0959.regionsBySlashes.go
- 0968.minCameraCover.go
- 0973.kClosest.go
- 0976.largestPerimeter.go
- 0977.sortedSquares.go
- 0978.maxTurbulenceSize.go
- 0989.addToArrayForm.go
- 0992.subarraysWithKDistinct.go
- 0995.minKBitFlips.go
- 1002.commonChars.go
- 1004.longestOnes.go
- 1018.prefixesDivBy5.go
- 1021.removeOuterParentheses.go
- 1024.videoStitching.go
- 1030.allCellsDistOrder.go
- 1046.lastStoneWeight.go
- 1047.removeDuplicates.go
- 1051.heightChecker.go
- 1052.maxSatisfied.go
- 1108.defangIPaddr.go
- 1122.relativeSortArray.go
- 1128.numEquivDominoPairs.go
- 1178.findNumOfValidWords.go
- 1202.smallestStringWithSwaps.go
- 1203.sortItems.go
- 1207.uniqueOccurrences.go
- 1208.equalSubstring.go
- 1232.checkStraightLine.go
- 1299.replaceElements.go
- 1319.makeConnected.go
- 1351.countNegatives.go
- 1356.sortByBits.go
- 1365.smallerNumbersThanCurrent.go
- 1423.maxScore.go
- 1431.kidsWithCandies.go
- 1438.longestSubarray.go
- 1470.shuffle.go
- 1480.runningSum.go
- 1486.xorOperation.go
- 1489.findCriticalAndPseudoCriticalEdges.go
- 1496.isPathCrossing.go
- 1502.canMakeArithmeticProgression.go
- 1507.reformatDate.go
- 1512.numIdenticalPairs.go
- 1539.findKthPositive.go
- 1544.makeGood.go
- 1550.threeConsecutiveOdds.go
- 1563.stoneGameV.go
- 1573.numWays.go
- 1579.maxNumEdgesToRemove.go
- 1584.minCostConnectPoints.go
- 1631.minimumEffortPath.go
- 1722.minimumHammingDistance.go