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

注册企业的流程有哪些seo会被取代吗

注册企业的流程有哪些,seo会被取代吗,东山网站建设,wordpress的文章收藏题目 https://www.lintcode.com/problem/1081/ 给出N种不同类型的贴纸。 每个贴纸上都写有一个小写英文单词。 通过裁剪贴纸上的所有字母并重排序来拼出字符串target。 每种贴纸可以使用多次,假定每种贴纸数量无限。 拼出target最少需要多少张贴纸?如果…

题目

https://www.lintcode.com/problem/1081/

给出N种不同类型的贴纸。 每个贴纸上都写有一个小写英文单词。
通过裁剪贴纸上的所有字母并重排序来拼出字符串target。
每种贴纸可以使用多次,假定每种贴纸数量无限。
拼出target最少需要多少张贴纸?如果不可能拼成,则返回-1。stickers的长度范围为[1, 50].
stickers仅由小写英文字母组成(没有撇号').
target的长度范围为[1, 15],而且由小写字母组成。
在所有的测试用例中,单词是从1000个最常见的美国英文单词中任意选择的,目标单词则是由两个任意单词拼接而成。
时间限制可能比以往更有挑战性,期望的时间界是平均35毫秒50个测试样例。
样例
样例 1:输入:
["with", "example", "science"], "thehat"
输出:
3
解释:
使用两张"with"和一张"example",经过裁剪和重排字母,可以得到"thehat"。这也是所需要的最少贴纸数。
样例 2:输入:
["notice", "possible"], "basicbasic"
输出:
-1
解释:
无法拼成"basicbasic"

思路

注意:单纯使用递归无法通过,需要使用递归+词频统计优化【贪心思想】+记忆化搜索才能通过
思路:每一次尝试,目标单词第一个字符在当前字符中,就以当前字符为第一个字符,去递归

参考代码

public class Solution {/*** @param stickers: a string array* @param target: a string* @return: the minimum number of stickers that you need to spell out the target*/public int minStickers(String[] stickers, String target) {//int ans = f1(stickers, target);  //直接递归,会超时//int ans = f2(stickers, target);  //优化了,使用词频表统计,还是会超时int ans = f3(stickers, target);  //优化了,使用词频表统计,加上记忆化搜索return ans == Integer.MAX_VALUE ? -1 : ans;}public static int f1(String[] stickers, String target) {if (target.length() == 0)return 0;int min = Integer.MAX_VALUE;for (String first : stickers) {String rest = minus(target, first);if (rest.length() != target.length()) {min = Math.min(min, f1(stickers, rest));}}return min + (min == Integer.MAX_VALUE ? 0 : 1);}public static String minus(String s1, String s2) {char[] str1 = s1.toCharArray();char[] str2 = s2.toCharArray();int[] cnt = new int[26];for (char c : str1) {cnt[c - 'a']++;}for (char c : str2) {cnt[c - 'a']--;}StringBuilder sb = new StringBuilder();for (int i = 0; i < 26; i++) {if (cnt[i] > 0) {for (int j = 0; j < cnt[i]; j++) {sb.append((char) (i + 'a'));}}}return sb.toString();}public static int f2(String[] stickers, String target) {int n = stickers.length;//关键优化,词频统计表int[][] cnt = new int[n][26];for (int i = 0; i < n; i++) {char[] str = stickers[i].toCharArray();for (char c : str) {cnt[i][c - 'a']++;}}int ans = process(cnt, target);return ans == Integer.MAX_VALUE ? -1 : ans;}//stickers[i] 数组,当初i号贴纸的字符统计,int[][] stickers ->所有贴纸//每一种贴纸都有无穷张//返回搞定target的最少张树//最少张数public static int process(int[][] stickers, String t) {if (t.length() == 0) return 0;char[] target = t.toCharArray();int[] tcnt = new int[26];for (char c : target) {tcnt[c - 'a']++;}int n = stickers.length;int min = Integer.MAX_VALUE;for (int i = 0; i < n; i++) {//尝试每一张贴纸是谁int[] sticker = stickers[i];//最关键优化(剪枝,这一步也是贪心)if (sticker[target[0] - 'a'] > 0) {StringBuilder sb = new StringBuilder();for (int j = 0; j < 26; j++) {if (tcnt[j] > 0) {int nums = tcnt[j] - sticker[j];for (int k = 0; k < nums; k++) {sb.append((char) (j + 'a'));}}}String rest = sb.toString();min = Math.min(min, process(stickers, rest));}}return min + (min == Integer.MAX_VALUE ? 0 : 1);}public static int f3(String[] stickers, String target) {int n = stickers.length;int[][] cnts = new int[n][26];for (int i = 0; i < n; i++) {char[] str = stickers[i].toCharArray();for (char c : str) {cnts[i][c - 'a']++;}}Map<String, Integer> dp = new HashMap<>();dp.put("", 0);int ans = process3(cnts, target, dp);return ans == Integer.MAX_VALUE ? -1 : ans;}public static int process3(int[][] stickers,String t ,Map<String,Integer> dp){if(dp.containsKey(t))return dp.get(t);char[] target = t.toCharArray();int[] tcnt = new int[26];for (char c : target) {tcnt[c-'a']++;}int n = stickers.length;int min = Integer.MAX_VALUE;for (int i = 0; i <n ; i++) {int[] sticker = stickers[i];if(sticker[target[0]-'a'] >0){StringBuilder sb = new StringBuilder();for (int j = 0; j <26 ; j++) {if(tcnt[j] >0){int nums = tcnt[j]-sticker[j];for (int k = 0; k <nums ; k++) {sb.append((char)(j+'a'));}}}String rest = sb.toString();min = Math.min(min,process3(stickers,rest,dp));}}int ans = min+(min ==Integer.MAX_VALUE?0:1);dp.put(t,ans);return ans;}
}
http://www.tj-hxxt.cn/news/51859.html

相关文章:

  • 做投注网站多少钱seo关键词选取工具
  • 做网站必须购买空间吗自动app优化
  • wordpress auto save image搜索引擎优化的各种方法
  • 佛山网站建设设计公司百度网络电话
  • 网站研发公司深圳网站搜索优化工具
  • 微网站 免费模板北京百度关键词优化
  • 云顶科技做网站的网站推广公司排行榜
  • 个人网站可以做推广不品牌宣传策略
  • 邢台哪里建网站免费发帖平台
  • 企业网站模板免费下载企业网站模板百度发作品入口在哪里
  • yangdesign工业设计公司宁波厂家关键词优化
  • 手机网站营销的含义西安今日头条新闻消息
  • 屏南网站建设兼职西安百度推广开户
  • o2o网站建设方案电商网店
  • 西宁商城网站建设公司获客引流100种方法
  • 手机企业网站制作流程爱站网seo
  • 网站谷歌地图提交百度开户要多少钱
  • 行业类网站模板优化设计电子版在哪找
  • dede茶叶网站模板网站seo系统
  • 可以用wpf做网站吗信息流优化师培训
  • 网店代运营就是个坑珠海百度关键词优化
  • 光明网站建设app推广平台排行榜
  • 注册个免费网站谷歌优化排名公司
  • 青岛建网站的公司网络免费推广平台
  • 在公司做网站是什么职位百度首页登录
  • 上海哪家公司做网站百度识图扫一扫
  • 上海哪家公司做网站比较好网站关键词优化报价
  • 搜关键词可以搜到的网站怎么做深圳全网推广托管
  • wordpress上传课件seo搜索引擎是什么
  • 做外贸如何建立网站泉州百度推广排名优化