1403. Minimum Subsequence in Non-Increasing Order
对数组进行排序,然后依次取出当前最大值,比较当前取出数值和与剩余数值和,如果大于,则返回取出数字。
1 | class Solution: |
1400. Construct K Palindrome Strings
构造指定个数的回文字符串,检查出现次数为奇数的字母次数是否超过了k即可。可以直接用 Counter 计算。
1 | class Solution: |
1401. Circle and Rectangle Overlapping
依次考虑圆心与矩形的位置关系,是否在矩形的上下左右,求出矩形到圆心距离最小的点,然后根据两点间距离公式来与半径相比较。
zhihu 上有一个问题可以解答这道题:https://www.zhihu.com/question/24251545
1 | func checkOverlap(radius int, x_center int, y_center int, x1 int, y1 int, x2 int, y2 int) bool { |
1404. Number of Steps to Reduce a Number in Binary Representation to One
这道题如果直接把二进制转换为十进制数,然后判断奇偶就很容易了,但是这不是它本身的目的,主要需要考虑位进位换算,其中分为 4 种情况:
无进位,当前位是1,则步骤 +2,进位为1
无进位,当前位是0,则步骤 +1,进位为0
有进位,当前位是1,则步骤 +1,进位为1
有进位,当前位是0,则步骤 +2,进位为1
其中步骤 +2 的情况为当前位是 1,需要 +1 和 /2 两个操作。
1 | func reverse(A []byte) { |
1405. Longest Happy String
对字母按照次数进行降序排序,然后依次遍历字母,判断最后2位是否与当前字母 * 2 相同,如果相同,则跳过,如果不相同,则将其添加到结果中,并将次数 -1。
1 | class Solution: |