当前位置: 首页 > wzjs >正文

企业官网建站如何设计网站风格

企业官网建站,如何设计网站风格,一家专门做男人的网站,孙红雷做的二手车网站力扣热门算法题 204.计数质数,207.课程表,213.打家劫舍II,每题做详细思路梳理,配套Python&Java双语代码, 2025.07.07 可通过leetcode所有测试用例。 目录 204.计数质数 解题思路 完整代码 207.课程表 解题思…

力扣热门算法题 204.计数质数,207.课程表,213.打家劫舍II,每题做详细思路梳理,配套Python&Java双语代码, 2025.07.07 可通过leetcode所有测试用例。

目录

204.计数质数

解题思路

完整代码

207.课程表

解题思路

完整代码

213.打家劫舍II

解题思路

完整代码


204.计数质数

给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。

示例 1:

输入:n = 10
输出:4
解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。

示例 2:

输入:n = 0
输出:0

示例 3:

输入:n = 1
输出:0

提示:

  • 0 <= n <= 5 * 10^6

解题思路

对于每一个质数 p,从 p*p 开始,把所有 p 的倍数标记为非质数。

  • 创建一个长度为 n 的布尔数组 isPrime,全部初始化为 True

  • 01 设为 False,它们不是质数;

  • 2 开始,如果 isPrime[i] 为真,则它是质数;

    • 将从 i*in-1 范围内所有 i 的倍数设为 False

  • 最后统计 True 的个数,就是质数的个数。

完整代码

python

class Solution:def countPrimes(self, n: int) -> int:if n < 2:return 0is_prime = [True] * nis_prime[0:2] = [False, False]for i in range(2, int(n ** 0.5) + 1):if is_prime[i]:for j in range(i * i, n, i):is_prime[j] = Falsereturn sum(is_prime)

java

class Solution {public int countPrimes(int n) {if (n < 2) return 0;boolean[] isPrime = new boolean[n];Arrays.fill(isPrime, true);isPrime[0] = false;isPrime[1] = false;for (int i = 2; i * i < n; i++) {if (isPrime[i]) {for (int j = i * i; j < n; j += i) {isPrime[j] = false;}}}int count = 0;for (boolean prime : isPrime) {if (prime) count++;}return count;}
}

207.课程表

你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。

在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程  bi 。

  • 例如,先修课程对 [0, 1] 表示:想要学习课程 0 ,你需要先完成课程 1 。

请你判断是否可能完成所有课程的学习?如果可以,返回 true ;否则,返回 false 。

示例 1:

输入:numCourses = 2, prerequisites = [[1,0]]
输出:true
解释:总共有 2 门课程。学习课程 1 之前,你需要完成课程 0 。这是可能的。

示例 2:

输入:numCourses = 2, prerequisites = [[1,0],[0,1]]
输出:false
解释:总共有 2 门课程。学习课程 1 之前,你需要先完成​课程 0 ;并且学习课程 0 之前,你还应先完成课程 1 。这是不可能的。

提示:

  • 1 <= numCourses <= 2000
  • 0 <= prerequisites.length <= 5000
  • prerequisites[i].length == 2
  • 0 <= ai, bi < numCourses
  • prerequisites[i] 中的所有课程对 互不相同

解题思路

每门课是一节点,先修关系是有向边

  • bi → ai 表示上课方向,先学 bi 再学 ai

  • 如果图中有环,就无法修完全部课程。

  1. 建立 邻接表 graph入度数组 in_degree
  2. 所有入度为 0 的点入队(无依赖的课可以先学)
  3. 进行 BFS:
    1. 每弹出一个节点 u,将其邻接的节点 v 入度减一

    2. 如果 v 入度变为 0,也加入队列

  4. 最终计数是否等于总课程数 numCourses

完整代码

python

from collections import deque
from typing import Listclass Solution:def canFinish(self, numCourses: int, prerequisites: List[List[int]]) -> bool:graph = [[] for _ in range(numCourses)]in_degree = [0] * numCoursesfor a, b in prerequisites:graph[b].append(a)in_degree[a] += 1queue = deque([i for i in range(numCourses) if in_degree[i] == 0])count = 0while queue:node = queue.popleft()count += 1for neighbor in graph[node]:in_degree[neighbor] -= 1if in_degree[neighbor] == 0:queue.append(neighbor)return count == numCourses

java

import java.util.*;class Solution {public boolean canFinish(int numCourses, int[][] prerequisites) {List<List<Integer>> graph = new ArrayList<>();int[] inDegree = new int[numCourses];for (int i = 0; i < numCourses; i++) {graph.add(new ArrayList<>());}for (int[] pair : prerequisites) {int a = pair[0], b = pair[1];graph.get(b).add(a);inDegree[a]++;}Queue<Integer> queue = new LinkedList<>();for (int i = 0; i < numCourses; i++) {if (inDegree[i] == 0) queue.offer(i);}int count = 0;while (!queue.isEmpty()) {int node = queue.poll();count++;for (int neighbor : graph.get(node)) {inDegree[neighbor]--;if (inDegree[neighbor] == 0) queue.offer(neighbor);}}return count == numCourses;}
}

213.打家劫舍II

你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。

给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,今晚能够偷窃到的最高金额。

示例 1:

输入:nums = [2,3,2]
输出:3
解释:你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为他们是相邻的。

示例 2:

输入:nums = [1,2,3,1]
输出:4
解释:你可以先偷窃 1 号房屋(金额 = 1),然后偷窃 3 号房屋(金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。

示例 3:

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

提示:

  • 1 <= nums.length <= 100
  • 0 <= nums[i] <= 1000

解题思路

我们把问题转换为两个不包含首尾同时偷的情况:

  • 不偷第一个房子 → 考虑 nums[1:]

  • 不偷最后一个房子 → 考虑 nums[:-1]

标准动态规划:

  • 定义:dp[i] 表示前 i 间房最多能偷多少钱;

完整代码

python

from typing import Listclass Solution:def rob(self, nums: List[int]) -> int:if len(nums) == 1:return nums[0]def rob_linear(nums: List[int]) -> int:prev, curr = 0, 0for num in nums:prev, curr = curr, max(curr, prev + num)return currreturn max(rob_linear(nums[1:]), rob_linear(nums[:-1]))

java

class Solution {public int rob(int[] nums) {if (nums.length == 1) return nums[0];return Math.max(robRange(nums, 0, nums.length - 2),robRange(nums, 1, nums.length - 1));}private int robRange(int[] nums, int start, int end) {int prev = 0, curr = 0;for (int i = start; i <= end; i++) {int temp = curr;curr = Math.max(curr, prev + nums[i]);prev = temp;}return curr;}
}


文章转载自:

http://7QgKSVRy.nytpt.cn
http://kxDerI6y.nytpt.cn
http://jplQoxlq.nytpt.cn
http://PJvKYZSz.nytpt.cn
http://b01TEFjw.nytpt.cn
http://NFNBxZ6K.nytpt.cn
http://udvEo4VK.nytpt.cn
http://z2ovll4B.nytpt.cn
http://h7jd7xsS.nytpt.cn
http://3YGoFEvI.nytpt.cn
http://tfdHZZlB.nytpt.cn
http://miZtglWc.nytpt.cn
http://AfG5c68d.nytpt.cn
http://KMVYmTZH.nytpt.cn
http://ATho8ngq.nytpt.cn
http://bZDaa6Eq.nytpt.cn
http://qFsupUfg.nytpt.cn
http://m5gHV78E.nytpt.cn
http://8jvA4nUG.nytpt.cn
http://7RyFd0Cs.nytpt.cn
http://9PrwMAl9.nytpt.cn
http://gbCjRjFI.nytpt.cn
http://1Jv1qh47.nytpt.cn
http://qqSUcFUZ.nytpt.cn
http://E07EbFJ8.nytpt.cn
http://h9jbMA4v.nytpt.cn
http://7X9wPack.nytpt.cn
http://C4mHwa3E.nytpt.cn
http://PkfsBuEG.nytpt.cn
http://CjFXHshg.nytpt.cn
http://www.dtcms.com/wzjs/629815.html

相关文章:

  • 石家庄市交建高速公路建设管理有限公司网站wordpress前台发视频图片
  • 网站访客分析江苏建设网站
  • 大气的企业网站模板WordPress设置两个域名
  • 长沙产品网站建设网上国网下载
  • 网站建设首选亿企联盟discuz 做网站可以吗
  • 西安cms模板建站dnf怎么做发卡网站
  • 手机网站设计与实现是什么wordpress 用户遍历
  • 中国建设银行官网站积分抽奖南昌seo网站
  • iis架设jsp网站四川建筑人才招聘网
  • wordpress怎么给网站设置几种语言网站站内搜索代码
  • 百度网盘0基础网站开发教程国内最新军事新闻
  • 建设网站和网页有啥区别建设电子商务网站的步骤
  • 怎么区分模板网站wordpress栏目页设置
  • 网络营销产品的首选产品快排seo软件
  • 嘉兴网站推广平台建设网站报价
  • 怎么想百度提交网站wordpress 修改语言包
  • wordpress move怎么用兰州seo新站优化招商
  • 招聘网站建设费用多少湖南省邵阳市建设局网站
  • 嘉兴网站建议福州做网站哪家好
  • 可以做网站的语言年轻人免费观看视频
  • 手机网站自助百度网盟 网站定向投放
  • wordpress 自定义分类宁波网站推广优化公司怎么样
  • 手机网站搜索优化如何搭建网络论坛平台
  • 网站宽带值多少合适房屋网签查询系统官方网站
  • 西安优秀的集团门户网站建设服务商购物网页模板
  • 集团网站设计专业团队网站开发及服务合同模板
  • 注册网站一年多少钱做网站排名工具
  • 增城高端网站建设手机编写html软件
  • php电子商务网站模板做自媒体素材搬运网站
  • 本地化网站建设考研网站做刷词