Python|位运算|数组|动态规划|单选记录:只出现一次的数字|子集|杨辉三角 II
创始人
2024-06-28 03:41:07

目录

1、只出现一次的数字(位运算,数组)

示例

选项代码

2、子集(位运算,数组)

 示例

选项代码

3、杨辉三角 II(数组,动态规划)

 示例

选项代码


1、只出现一次的数字(位运算,数组)

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

说明:

你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

示例:

示例 1:

输入: [2,2,1]

输出: 1

示例 2:

输入: [4,1,2,1,2]

输出: 4

选项代码:

from typing import List
class Solution:def singleNumber(self, nums: List[int]) -> int:nums = sorted(nums)i = 0while i < len(nums) - 1:if nums[i] == nums[i + 1]:i += 2else:return nums[i]return nums[i]
if __name__ == '__main__':s = Solution()print(s.singleNumber( [4,1,2,1,2]))

2、子集(位运算,数组)

给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。

解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。

 示例:

示例 1

输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]

示例 2

输入:nums = [0]输出:[[],[0]]

 

提示:

  • 1 <= nums.length <= 10
  • -10 <= nums[i] <= 10
  • nums 中的所有元素 互不相同

选项代码:

class Solution:def subsets(self, nums):allset = 2 ** len(nums)result = []for i in range(allset):item = []for j in range(len(nums)):if i & (2 ** j):item.append(nums[j])result.append(item)return result
if __name__ == "__main__":s = Solution()print (s.subsets([1,2,3]))

3、杨辉三角 II(数组,动态规划)

给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

https://img.pic99.top/cnyincai/202406/f6b7b86146b7dfc.gif

 示例:

示例 1:

输入: rowIndex = 3

输出: [1,3,3,1]

示例 2:

输入: rowIndex = 0

输出: [1]

示例 3:

输入: rowIndex = 1

输出: [1,1]

 

提示:

  • 0 <= rowIndex <= 33

 

进阶:

你可以优化你的算法到 O(rowIndex) 空间复杂度吗?

选项代码:

class Solution(object):def getRow(self, rowIndex):""":type rowIndex: int:rtype: List[int]"""if rowIndex == 0:return [1]pas = [1]for i in range(rowIndex):newLine = list(map(lambda x, y: x + y, [0] + pas, pas + [0]))pas = newLinereturn pas
if __name__ == "__main__":s = Solution()print (s.getRow(3))

相关内容

热门资讯

中衡设计(603017.SH)... 格隆汇4月22日丨中衡设计(603017.SH)发布2025年年报显示,公司全年实现营业收入11.7...
海港人寿总经理变更:齐美祝任临...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会!   每经记者|涂颖浩...
出息了!德国市长试乘贵州造无人...   2026年4月21日,德国东部城市开姆尼茨。市政厅门前,一辆圆润的胶囊状小巴缓缓驶出。车内坐着三...
谷歌推出AI训练与推理专用芯片...   核心要点谷歌将推出一款专门运行人工智能模型的芯片,同时推出另一款独立处理器用于模型训练。亚马逊也...
龙腾光电修订公司章程及多项治理... 4月23日,龙腾光电(证券代码:688055)发布公告称,公司于2026年4月22日召开第三届董事会...