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

网站首页引导页模版专业的设计网站有哪些

网站首页引导页模版,专业的设计网站有哪些,网站建设工作思路,有哪些能做专门接做标书的网站509. 斐波那契数 斐波那契数 #xff08;通常用 F(n) 表示#xff09;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始#xff0c;后面的每一项数字都是前面两项数字的和。也就是#xff1a; F(0) 0#xff0c;F(1) 1 F(n) F(n - 1) F(n - 2)#xff0c;其中 …509. 斐波那契数 斐波那契数 通常用 F(n) 表示形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始后面的每一项数字都是前面两项数字的和。也就是 F(0) 0F(1) 1 F(n) F(n - 1) F(n - 2)其中 n 1给定 n 请计算 F(n) 。 示例 1 输入n 2 输出1 解释F(2) F(1) F(0) 1 0 1示例 2 输入n 3 输出2 解释F(3) F(2) F(1) 1 1 2示例 3 输入n 4 输出3 解释F(4) F(3) F(2) 2 1 3提示 0 n 30 class Solution {public int fib(int n) {if(n1){return n;}int a0,b1,ans0;for(int i2;in;i){ansab;ab;bans;}return ans;} }70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢 示例 1 输入n 2 输出2 解释有两种方法可以爬到楼顶。 1. 1 阶 1 阶 2. 2 阶示例 2 输入n 3 输出3 解释有三种方法可以爬到楼顶。 1. 1 阶 1 阶 1 阶 2. 1 阶 2 阶 3. 2 阶 1 阶提示 1 n 45 class Solution {public int climbStairs(int n) {int a1,b2;if(n1)return a;if(n2)return b;int ans0;for(int i3;in;i){ansab;ab;bans;}return ans;} }就是在一些最优子结构的基础上跳跃。 n3时 有三种爬法 因为一次可以爬一阶或者两阶所以在dp[1]的基础上跳两阶加上dp[2]跳一阶就是两个最优子结构相加。 1 阶 2 阶1 阶 1 阶 1 阶2 阶 1 阶 55. 跳跃游戏 给你一个非负整数数组 nums 你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标如果可以返回 true 否则返回 false 。 示例 1 输入nums [2,3,1,1,4] 输出true 解释可以先跳 1 步从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。示例 2 输入nums [3,2,1,0,4] 输出false 解释无论怎样总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 所以永远不可能到达最后一个下标。提示 1 nums.length 1040 nums[i] 105 class Solution {public boolean canJump(int[] nums) {int maxStep0,lennums.length;for(int i0;ilen;i){if(imaxStep){return false;}maxStepMath.max(maxStep,inums[i]);if(maxSteplen-1){return true;}}return false;} }遍历数组更新最远距离如果i超过了最远距离说明跳不到 i 索引即跳不到终点。 45. 跳跃游戏 II 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说如果你在 nums[i] 处你可以跳转到任意 nums[i j] 处: 0 j nums[i]i j n 返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]。 示例 1: 输入: nums [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置跳 1 步然后跳 3 步到达数组的最后一个位置。示例 2: 输入: nums [2,3,0,1,4] 输出: 2class Solution {public int jump(int[] nums) {int lennums.length;int maxStep0;int end0;int ans0;for(int i0;ilen-1;i){maxStepMath.max(maxStep,inums[i]);if(iend){ans;endmaxStep;}}return ans;} }338. 比特位计数 给你一个整数 n 对于 0 i n 中的每个 i 计算其二进制表示中 1 的个数 返回一个长度为 n 1 的数组 ans 作为答案。 示例 1 输入n 2 输出[0,1,1] 解释 0 -- 0 1 -- 1 2 -- 10示例 2 输入n 5 输出[0,1,1,2,1,2] 解释 0 -- 0 1 -- 1 2 -- 10 3 -- 11 4 -- 100 5 -- 101class Solution {public int[] countBits(int n) {int[] ansnew int[n1];int temp0;for(int i0;in;i){ans[i]countOnes(i);}return ans;}public int countOnes(int x){int count0;while(x!0){x (x-1);count;}return count;} }三种计算二进制中1的个数 利用位运算 public static int countOnes(int n) {int count 0;while (n ! 0) {count n 1; // 检查最低位是否为 1n 1; // 无符号右移 1 位}return count;}利用内置方法 public class CountOnes {public static void main(String[] args) {int number 29; // 例如29 的二进制是 11101int count Integer.bitCount(number);System.out.println(1 的个数: count);} }利用Brian Kernighan 算法 public static int countOnes(int n) {int count 0;while (n ! 0) {n (n - 1); // 将最低位的 1 清零count;}return count;}大佬的解法也不错 198. 打家劫舍 你是一个专业的小偷计划偷窃沿街的房屋。每间房内都藏有一定的现金影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统如果两间相邻的房屋在同一晚上被小偷闯入系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组计算你 不触动警报装置的情况下 一夜之内能够偷窃到的最高金额。 示例 1 输入[1,2,3,1] 输出4 解释偷窃 1 号房屋 (金额 1) 然后偷窃 3 号房屋 (金额 3)。偷窃到的最高金额 1 3 4 。示例 2 输入[2,7,9,3,1] 输出12 解释偷窃 1 号房屋 (金额 2), 偷窃 3 号房屋 (金额 9)接着偷窃 5 号房屋 (金额 1)。偷窃到的最高金额 2 9 1 12 。解法一 class Solution {public int rob(int[] nums) {int lennums.length;int[] dpnew int[len];if(len0)return 0;if(len1)return nums[0];dp[0]nums[0];dp[1]Math.max(nums[0],nums[1]);for(int i2;ilen;i){dp[i]Math.max(dp[i-1],dp[i-2]nums[i]);}return dp[len-1];} } 解法二 class Solution {public int rob(int[] nums) {if (nums null || nums.length 0) {return 0;}int length nums.length;int first0,second0;for (int i 0; i length; i) {int temp second;second Math.max(first nums[i], second);first temp;}return second;} }解法二因为每个最优子结构只与连两个房子有关。不需要考虑溢出问题而且可以从0开始遍历且空间复杂度为O(1)。 这个解法对于打家劫舍2有很大的优势。 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] 输出3class Solution {public int rob(int[] nums) {if(nums.length 0) return 0;if(nums.length 1) return nums[0];return Math.max(myRob(Arrays.copyOfRange(nums, 0, nums.length - 1)), myRob(Arrays.copyOfRange(nums, 1, nums.length)));}private int myRob(int[] nums) {int pre 0, cur 0, tmp;for(int num : nums) {tmp cur;cur Math.max(pre num, cur);pre tmp;}return cur;} }这个解法简单优雅不用考虑溢出问题。 class Solution {public int rob(int[] nums) {int lennums.length;if(len0)return 0;if(len1)return nums[0];return Math.max(myRob(Arrays.copyOfRange(nums,0,len-1)),myRob(Arrays.copyOfRange(nums,1,len)));}public int myRob(int[] nums){int lennums.length;int[] dpnew int[len];if(len0)return 0;if(len1)return nums[0];dp[0]nums[0];dp[1]Math.max(nums[0],nums[1]);for(int i2;ilen;i){dp[i]Math.max(dp[i-1],dp[i-2]nums[i]);}return dp[len-1];} }两个方法考虑溢出因为如果len2的话myRob会出现溢出问题烦死人了如果时OI赛制我已经死了。
http://www.hkea.cn/news/14491995/

相关文章:

  • 免费设计手写签名沈阳网络优化培训
  • 定制网站开发冬天里的白玫瑰wordpress模板放在哪里
  • 建个私人网站怎么做专业网络工程师培训
  • 公司网站维护好做吗网站建设建议书
  • 网站建设教程大全 百度网盘襄阳最新消息
  • 思政网站建设管理自查报告工程项目建设自学网站
  • 提供网站建设的各类服务wordpress 插件 慢
  • 网易严选的网站建设php+mysql网站开发...
  • 浙江省建设厅网站在哪里网站开发合同封面
  • app开发 网站建设重庆市建设工程信息网南川区
  • 智能营销型网站制作北京网站设计公司哪家公司好
  • 崇州市网站建设沈阳人流
  • 网站运营计划设计公司介绍
  • 佛山网站设计公司运动猿app 网站开发
  • 公司网站设计模板品牌策划网站建设
  • wordpress网站插件下载失败网架公司招聘打板施工队伍
  • 常州网站建设代理商重庆新闻联播回看
  • 做国外有那些网站全国二级建造师注册查询系统入口
  • 新发地网站建设广州注册公司在哪个网站
  • 做网站首选智投未来1php网站开发淮安招聘
  • 深圳建网站公司怎么选择wordpress手机版本
  • 英语机构网站建设方案企业网站的制作方式
  • 网络推广和网站推广成都微信小程序制作
  • 网站店铺建设教师专用ppt模板免费下载
  • 网站建设属于什么wordpress文章发布添加项目
  • 网站备案幕布照如何做网站解析ip地址
  • 小语种建网站建设wordpress如何在文章底部添加目录
  • 黄冈网站建设优化排名金融网站html5模板
  • 合肥网站开发培训自建网站该页无法显示
  • 自己做图网站免费微信点餐小程序