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

建设网站的好公司seo快速优化文章排名

建设网站的好公司,seo快速优化文章排名,政府网站建设公司 政务,网易企业邮箱费用wy的leetcode刷题记录_Day7 目录wy的leetcode刷题记录_Day7面试题 01.09. 字符串轮转题目介绍思路代码收获#518. 零钱兑换 II题目介绍思路代码收获面试题 01.09. 字符串轮转 今天的每日一题是:面试题 01.09. 字符串轮转 题目介绍 字符串轮转。给定两个字符串s1和…

wy的leetcode刷题记录_Day7

目录

  • wy的leetcode刷题记录_Day7
    • 面试题 01.09. 字符串轮转
      • 题目介绍
      • 思路
      • 代码
      • 收获
  • #518. 零钱兑换 II
      • 题目介绍
      • 思路
      • 代码
      • 收获

面试题 01.09. 字符串轮转

今天的每日一题是:面试题 01.09. 字符串轮转

题目介绍

字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。

示例1:
输入:s1 = “waterbottle”, s2 = “erbottlewat”
输出:True

示例2:
输入:s1 = “aa”, s2 = “aba”
输出:False

思路

1.首先我们判断这俩个字符串长度是否相等,如果连长度都不想等的话是不可能通过旋转来完成转换的
2.方法一:可以用一个循环来寻找他旋转的次数,也就是向右移的次数,如果在第n次的右移中发现这俩个字符串相等则相等,否则不相等
3.方法二:将原字符串复制一份添加在原字符串后面,然后在从这个新字符串中用find方法查找是否有s2这个子字符串

代码

class Solution {
public:bool isFlipedString(string s1, string s2) {int m = s1.size(), n = s2.size();if (m != n) {return false;}if (n == 0) {return true;}for (int i = 0; i < n; i++) {bool flag = true;for (int j = 0; j < n; j++) {if (s1[(i + j) % n] != s2[j]) {flag = false;break;}}if (flag) {return true;}}return false;}
};
class Solution {
public:bool isFlipedString(string s1, string s2) {return s1.size() == s2.size() && (s1 + s1).find(s2) != string::npos;}
};

收获

第一种方法就是普通的模拟,暴力解法。而第二种方法则比较巧妙,用空间消耗来换取时间的便利。

#518. 零钱兑换 II

518. 零钱兑换 II

题目介绍

给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。
假设每一种面额的硬币有无限个。
题目数据保证结果符合 32 位带符号整数。

示例 1:
输入:amount = 5, coins = [1, 2, 5]
输出:4
解释:有四种方式可以凑成总金额:
5=5
5=2+2+1
5=2+1+1+1
5=1+1+1+1+1

示例 2:
输入:amount = 3, coins = [2]
输出:0
解释:只用面额 2 的硬币不能凑成总金额 3 。

示例 3:

输入:amount = 10, coins = [10]
输出:1

思路

完全背包问题:
1.确定dp数组的含义:dp[j]:凑成总⾦额j的货币组合数为dp[j]
2.确定dp数组的递推公式:dp[j] (考虑coins[i]的组合总和) 就是所有的dp[j - coins[i]](不考虑coins[i])相加。所以递推公式:dp[j] += dp[j - coins[i]]
3.初始化:全部初始化为0,dp[0]为1
4.遍历顺序:

代码

class Solution {
public:int change(int amount, vector<int>& coins) {if(amount<coins[0])return 1;vector<int> dp(amount+1,0);dp[0]=1;int n=coins.size();for(int i=0;i<n;i++){for(int j=coins[i];j<=amount;j++){dp[j]+=dp[j-coins[i]];}}return dp[amount];}
};

收获

了解到完全背包问题,与之前的多重背包和01背包有较大的区别。

http://www.lbrq.cn/news/2494045.html

相关文章:

  • 苹果手机做微电影网站有哪些内容学做电商需要多少钱
  • 什么公司做网站的多网络营销师培训
  • 网站平台建设步骤关系营销案例
  • 潘嘉严个人网站seo sem是啥
  • 电子商务网站建设完整案例教程s2sh pdf下载北京百度搜索优化
  • 大学生做家教网站青岛官网seo
  • 济南建设学院官网天津seo结算
  • 开网站是干什么的百度优化推广
  • 申请做网站安卓优化大师官方版本下载
  • 义乌公司做网站百度搜索竞价排名
  • 怎么投诉没有备案就已经运营网站线上推广外包公司
  • 电商网站流程图想在百度上推广怎么做
  • 建设银行租房网站湖北广告公司业务推广
  • 做 直销网站 公司名称营销推广的公司
  • 富士康整站seo外包
  • 做百度移动网站排名软文营销怎么做
  • 商场网站建设公司seo优化关键词排名优化
  • 做网站现成的测试账号东莞网站制作的公司
  • 网站栏目建设方案实时热搜
  • 慈溪做无痛同济&网站百度广告电话号码是多少
  • 专业优化网站建设百度竞价什么意思
  • 南昌政府网站建设seo自己怎么做
  • 网站的涂鸦效果图怎么做的百度刷自己网站的关键词
  • 怎么在qq上自己做网站做百度推广销售怎么找客户
  • 做网站是什么时候分页长春seo网站管理
  • 如何制作微信网站武汉武汉最新
  • 西昌市做网站的品牌广告策划方案
  • 网站诊断分析今日热搜榜
  • 查询网站备案进度精准客源app
  • 二手图书交易网站建设自媒体推广
  • 电动汽车转向系统及其工作原理
  • GIF图像格式
  • docker 从主机复制文件到容器外进行编辑
  • 网络编程2(应用层协议,传输层协议)
  • 生产环境使用云服务器(centOS)部署和使用MongoDB
  • window下MySQL安装(三)卸载mysql