【剑指offer】面试题14- I:剪绳子(Java)

给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m] 。请问 k[0]*k[1]*...*k[m] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。

示例 1:

输入: 2
输出: 1
解释: 2 = 1 + 1, 1 × 1 = 1
示例 2:

输入: 10
输出: 36
解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36
提示:

2 <= n <= 58

思路:

尽量分成长度为3的,乘积会大,剩下的都是长度为2的

4是个特例,所以分成长度为3的时候,如果剩下的长度为1,长度为3的就少分一段

代码:

class Solution {

    public int cuttingRope(int n) {

        if(n==2)

        {

            return 1;

        }

        if(n==3)

        {

            return 2;

        }

        int count1=0,count2=0;

        count1 = n/3;

        if(n-count1*3==1&&count1>0)

        {

            count1-=1;

        }

        count2 = n-count1*3;

        count2 /=2;

        int result = 1;

        for(int i=1;i<=count1;i++)

        {

            result*=3;

        }

        for(int i=1;i<=count2;i++)

        {

            result*=2;

        }

        return result;

    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485161.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

elk安装

官网下载最新的rpm包安装。 http://blog.51cto.com/liqingbiao/1928653 es安装head 先安装node wget https://nodejs.org/dist/v0.10.48/node-v0.10.48.tar.gz 加压&#xff0c;make&#xff0c;make install node --version git clone https://github.com/mobz/elasticsearch…

2021城市大脑与智能产业趋势简报第五期

《城市大脑与智能产业趋势简报》是“城市大脑全球标准研究组”推荐的一周内城市大脑和智能产业领域值得关注的重要科技进展、新闻动态、专家观点和专业知识。本次周报&#xff08;2021.2.24-2021.3.3&#xff09;共推荐99条重要信息&#xff08;点击链接地址可以直接打开阅读&a…

【剑指offer】面试题15:二进制中1的个数(Java)

请实现一个函数&#xff0c;输入一个整数&#xff0c;输出该数二进制表示中 1 的个数。例如&#xff0c;把 9 表示成二进制是 1001&#xff0c;有 2 位是 1。因此&#xff0c;如果输入 9&#xff0c;则该函数输出 2。 示例 1&#xff1a; 输入&#xff1a;000000000000000000…

物理理论发展放缓?这是一种认知误判

来源&#xff1a;光明日报作者&#xff1a;李侠&#xff0c;系上海交通大学科学史与科学文化研究院院长、教授物理基础理论的发展是否已经停滞。这是一个经常被人们提起但其实很复杂的问题。基于科学哲学的基本理论&#xff0c;笔者认为&#xff1a;以物理学为代表的基础理论仍…

【剑指offer】面试题16:数值的整数次方(Java)

实现函数double Power(double base, int exponent)&#xff0c;求base的exponent次方。不得使用库函数&#xff0c;同时不需要考虑大数问题。 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, 3 输出: 9.26100 示例 3: 输入: 2.00000, -2 输出: 0.25000…

php blog to explore

https://www.zachstronaut.com/posts/2009/02/09/careful-with-php-empty.html转载于:https://www.cnblogs.com/qinqiu/p/9606348.html

【剑指offer】面试题18:删除链表的节点(Java)

给定单向链表的头指针和一个要删除的节点的值&#xff0c;定义一个函数删除该节点。 返回删除后的链表的头节点。 注意&#xff1a;此题对比原题有改动 示例 1: 输入: head [4,5,1,9], val 5 输出: [4,1,9] 解释: 给定你链表中值为 5 的第二个节点&#xff0c;那么在调用…

java容器02--ArrayList源码分析

1.1 ArrayList 1. 概览 实现了 RandomAccess 接口&#xff0c;因此支持随机访问。这是理所当然的&#xff0c;因为 ArrayList 是基于数组实现的。 public class ArrayList<E> extends AbstractList<E>implements List<E>, RandomAccess, Cloneable, java.io.…

斯坦福连续发了四年的AI报告,今年讲了什么?

来源&#xff1a;机器之心报道编辑&#xff1a;蛋酱、魔王、陈萍由斯坦福大学发起的人工智能指数&#xff08;AI Index&#xff09;是一个追踪 AI 动态和进展的非营利性项目&#xff0c;旨在全面研究 AI 行业状况&#xff0c;旨在促进基于数据的 AI 广泛交流和有效对话。刚刚&a…

【剑指offer】面试题19:正则表达式匹配(Java)

请实现一个函数用来匹配包含. 和*的正则表达式。模式中的字符.表示任意一个字符&#xff0c;而*表示它前面的字符可以出现任意次&#xff08;含0次&#xff09;。在本题中&#xff0c;匹配是指字符串的所有字符匹配整个模式。例如&#xff0c;字符串"aaa"与模式"…

面试-重写基础功能函数

重写基础函数 1. 字符串拷&#xff1a;strcpy() 函数strcpy的原型是char* strcpy(char* des , const char* src)&#xff0c;des 和 src 所指内存区域不可以重叠且 des 必须有足够的空间来容纳 src 的字符串。 char* strcpy( char* dst, const char* src ) {assert( NULL ! ds…

第一次,人类在人工神经网络中发现了“真”神经元

来源&#xff1a;学术头条本文经授权转载自机器之心&#xff08;almosthuman2014&#xff09;OpenAI 的研究者们在人工神经网络 CLIP 上发现了「真」神经元&#xff0c;这种机制解释了 AI 模型对令人惊讶的视觉呈现进行分类时&#xff0c;为何拥有如此的准确性。研究人员表示&a…

【剑指offer】面试题21:调整数组顺序使奇数位于偶数前面(Java)

输入一个整数数组&#xff0c;实现一个函数来调整该数组中数字的顺序&#xff0c;使得所有奇数位于数组的前半部分&#xff0c;所有偶数位于数组的后半部分。 示例&#xff1a; 输入&#xff1a;nums [1,2,3,4] 输出&#xff1a;[1,3,2,4] 注&#xff1a;[3,1,2,4] 也是正确…

#35 string(缩点+动态规划)

容易发现有了交换相邻字符的操作后&#xff0c;只要字符串所含有的字符种类和数量相同其就是等价的。这样的状态只有n^3级别&#xff0c;将其抽象成点子串变换抽象成边后就是求最长路径了&#xff0c;缩点dp解决。 码量巨大&#xff0c;不是很明白要怎样才能用3k写完。 #includ…

AI破解脑电波,准确率超80%!高度还原你眼中最美的ta

本文转自公众号&#xff1a;新智元一千个人眼中有一千个哈姆雷特。由于主观差异&#xff0c;人类的审美有千万种。对于个人偏好的观察&#xff0c;人类尚且还需要思考揣摩&#xff0c;何况是机器&#xff0c;如何做到呢&#xff1f;但最近赫尔辛基大学和哥本哈根大学的一个研究…

【剑指offer】面试题22:链表中倒数第k个节点(Java)

输入一个链表&#xff0c;输出该链表中倒数第k个节点。为了符合大多数人的习惯&#xff0c;本题从1开始计数&#xff0c;即链表的尾节点是倒数第1个节点。例如&#xff0c;一个链表有6个节点&#xff0c;从头节点开始&#xff0c;它们的值依次是1、2、3、4、5、6。这个链表的倒…

svn安装配置

1、安装 #rpm -q subversion #yum -y install subversion 2、创建仓库 #mkdir -p /var/svn/svnrepos #svnadmin create /var/svn/svnrepos 3、修改权限控制文件authz #cd /var/svn/svnrepos/conf/ #vi authz 4、修改账号密码文件passwd #vi passwd 5、修改svn服务配置文件svnse…

委员建议开辟多种科研资助模式,呼唤“科研悬赏制”

本文资源来源自&#xff1a;中国新闻网转自公众号&#xff1a;科奖中心“创新的力量蕴藏在全社会之中&#xff0c;创新的资源理应向全社会开放。”全国政协委员&#xff0c;民盟中央常委、宁夏区委会主委冀永强近日接受中新社记者采访时表示&#xff0c;应积极鼓励探索“科研悬…

【剑指offer】面试题24:反转链表(Java)

定义一个函数&#xff0c;输入一个链表的头节点&#xff0c;反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 限制&#xff1a; 0 < 节点个数 < 5000 代码&#xff1a; /** * De…

入局智慧城市,科技互联网巨头路在何方?

来源&#xff1a;亿欧智库我国已进入智慧城市建设新时期。各大巨头先后入局&#xff0c;拓展云服务场景&#xff0c;赋能政务管理与生产生活的方方面面。未来&#xff0c;场景延展、生态构建与人文关怀将成为智慧城市发展的大趋势。随着新基建政策、“十四五”规划和二〇三五年…