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

wordpress 注册功能石家庄自动seo

wordpress 注册功能,石家庄自动seo,学做网站好就业吗,wordpress怎样建站目录 题目 代码 思路解析 例子 题目 题目 给定一个仅包含数字 0-9 的字符串 num 和一个目标值整数 target &#xff0c;在 num 的数字之间添加 二元 运算符&#xff08;不是一元&#xff09;、- 或 * &#xff0c;返回 所有能够得到 target 的表达式。1 < num.length &…

目录

题目

代码

思路解析

例子


题目

  • 题目
    • 给定一个仅包含数字 0-9 的字符串 num 和一个目标值整数 target ,在 num 的数字之间添加 二元 运算符(不是一元)+、- 或 * ,
  • 返回
    • 所有能够得到 target 的表达式。
    • 1 <= num.length <= 10
    • num 仅含数字
    • -231 <= target <= 231 - 1
  • 注意
    • 返回表达式中的操作数 不应该 包含前导零。
  • 示例 1:
    • 输入: num = "123", target = 6
    • 输出: ["1+2+3", "1*2*3"]
    • 解释: “1*2*3” 和 “1+2+3” 的值都是6。
  • 示例 2:
    • 输入: num = "232", target = 8
    • 输出: ["2*3+2", "2+3*2"]
    • 解释: “2*3+2” 和 “2+3*2” 的值都是8。
  • 示例 3:
    • 输入: num = "3456237490", target = 9191
    • 输出: []
    • 解释: 表达式 “3456237490” 无法得到 9191 。

代码

#include <stdlib.h>
#include <string.h>
#include <stdio.h>void evaluate(int* num_list, int* num_flag, int n, int target) {int end = num_list[0]; for (int i = 1; i < n; i++) {if (num_flag[i] == 1) {end *= num_list[i];} else if (num_flag[i] == 2) {end += num_list[i];} else if (num_flag[i] == 3) {end -= num_list[i];}}if (end == target) {printf("找到表达式: ");for (int i = 0; i < n; i++) {if (i > 0) {if (num_flag[i] == 1) printf("*");if (num_flag[i] == 2) printf("+");if (num_flag[i] == 3) printf("-");}printf("%d", num_list[i]);}printf(" = %d\n", target);}
}void backtrack(int* num_list, int* num_flag, int n, int target, int pos) {if (pos == n) {evaluate(num_list, num_flag, n, target);return;}for (int i = 1; i <= 3; i++) { // 遍历三种运算符num_flag[pos] = i;backtrack(num_list, num_flag, n, target, pos + 1);// 递归下一个运算符}
}int main() {char num[256] = "";int target;printf("num = ");fgets(num, sizeof(num), stdin);if (strlen(num) > 10) return 0;int n = strlen(num) - 1;int num_list[n];for (int i = 0; i < n; i++) {if (num[i] >= '0' && num[i] <= '9') {num_list[i] = num[i] - '0';} else {return 0;}}printf("target = ");scanf("%d", &target);if (target > 230 || target < -231) return 0;int num_flag[n]; // 保存操作符的数组backtrack(num_list, num_flag, n, target, 1);return 0;
}

思路解析

  • 接收输入的字符串和目标数字
  • 判断其是否输入正确
  • 将字符串数字转为整数数组
  • 调用递归backtrack函数,从第一位开始递归
    • 判断递归索引是否是到最后一位
      • 是的话调用验算函数
        • 递归标志位数组进行判断加减算出答案
        • 判断答案于目标数字是否一样,一样就打印
    • 不是的话就继续就进行对标志位数组进行初始化
      • 一个数字一个标志位,如果是1就表示乘法,2为加法,3为减法
      • 递归索引+1进行递归

简单来说就是先从第一个字符开始变化标志位,从1到2到3,也就从乘法加法减法,但在第一个执行乘法前,后面的要先完成从1到2到3的变化,所以就是在第一个执行1的时候要等第二个数字从1到2到3变化完才进行变2,然后又要等第二个数字从1到2到3才变3,如果有第三个数字的话第二个数字也要等第三个数字变化完,一层一层递归,直到递归到最后一个数字后,才开始进行计算

例子

输入 1234   目标 10

http://www.khdw.cn/news/25863.html

相关文章:

  • 跟网站做流量防城港网站seo
  • 网站开发的基础是什么网站安全检测
  • 网络网站开发公司百度收录快的发帖平台
  • 旅游网站建设公司排名注册公司
  • 英文建站平台有哪些海洋网络推广效果
  • 怎么做跟P站一样的网站结构优化
  • 网页游戏排行榜人物漂亮广州市口碑seo推广外包
  • 怎么给网站做优化重庆seo整站优化报价
  • 个人可以做购物网站吗衡水seo排名
  • 可以用电脑做网站主机吗百度站长平台app
  • 早晨设计 做网站设计吗企业如何开展网络营销
  • 库尔勒 网站建设百度精准搜索
  • 杭州网站建设岗位薪资seo是什么职业岗位
  • asp本地网站无法打开seo公司是什么
  • html5 响应式网站今天发生的新闻
  • 淄博学校网站建设方案公司网页设计
  • 网站建设有关图片互动营销的案例及分析
  • 虚拟体验网站营销qq官网
  • 公司网站如何上传视频企业推广网
  • 连云港做网站的公司百度云登录
  • 网站建设制作设计营销 中山深圳货拉拉
  • 廊坊怎么做网站网络推广整合平台
  • 济南网站改版html网页制作网站
  • 广东省建站公司宁波seo行者seo09
  • 企业网站建设参考资料微信广告
  • 网站标题的重要性微信营销怎么做
  • 网站建设基础大纲文案想要推广网页正式版
  • 企业网站模板下载哪家好广告网站策划方案
  • 企业不开了网站备案吗seo的课谁讲的好
  • 卓越 网站建设 深圳西乡东莞网站建设优化