[day7] [LeetCode] [title22,3,26]

22.括号生成

给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。

例如,给出= 3,生成结果为:

[

  "((()))",

  "(()())",

  "(())()",

  "()(())",

  "()()()"

]

超时程序(结果是正确的)



超时程序 Part 1
超时程序 Part 2
超时程序 Part 3

功能:

超时程序 Part 1:将返回的多维字符list转换为一维字符串list,并将字符串list输出

超时程序 Part 2:采用递归调用的方式,输入初始list,输出需要得到的list

超时程序 Part 3:网上的程序,主要功能将多维降为一维list

需要注意的是:


两者之间的区别


红框中代码的运行结果


蓝框中代码的运行结果


正确的程序


Part 1


Part 2


Part 3

此通过的程序和上一个程序大体是一样的,但是在加括号的过程中(addParenthesis()里),就开始剪枝了,将list中没有的项进行append(),若已经拥有的项,则跳过而执行其他的程序。

(本来程序做出来是超时的,没准备今天能够做完,吃完晚饭后想了想:可以直接先剪枝,动态规划中避免重复子序列就是用这个方法剪枝的。于是跑完步后修改了下,惊喜出现了,当我再次执行,通过了),但是这个方法的时间复杂度太高了。应该是可以排在通过人中的最后一名了。


嘚瑟下


时间复杂度

看了条形图,别人的执行时间差不多否在50左右,自己却差不多需要用差不多一秒,惭愧啊。不过好歹通过了,之后再想有没有别的办法进行优化。降低时间复杂度。



3. 无重复字符的最长子串

给定一个字符串,找出不含有重复字符的最长子串的长度。

示例:

给定"abcabcbb",没有重复字符的最长子串是"abc",那么长度就是3。

给定"bbbbb",最长的子串就是"b",长度是1。

给定"pwwkew",最长子串是"wke",长度是3。请注意答案必须是一个子串,"pwke"是子序列  而不是子串。

超时程序

超时程序


超时


超时

正确的程序(双指针法)


Part 1


Part 2


时间复杂度









26. 删除排序数组中的重复项

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

示例 1:

给定数组nums=[1,1,2], 函数应该返回新的长度2, 并且原数组nums 的前两个元素被修改为1,2。 你不需要考虑数组中超出新长度后面的元素。

示例 2:

给定 nums =[0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度5, 并且原数组nums 的前五个元素被修改为0,1,2,3,4。你不需要考虑数组中超出新长度后面的元素。

说明:

为什么返回数值是整数,但输出的答案是数组呢?

请注意,输入数组是以“引用”方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。

你可以想象内部操作如下:

//nums是以“引用”方式传递的。也就是说,不对实参做任何拷贝int len = removeDuplicates(nums);// 在函数里修改输入数组对于调用者是可见的。// 根据你的函数返回的长度, 它会打印出数组中该长度范围内的所有元素。for (int i = 0; i < len; i++) {    print(nums[i]);}

超时程序


超时程序
超时
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,183评论 19 139
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 10,025评论 0 5
  • 1.中午工作餐时间,嘴里一边嚼着公司餐厅大厨掌勺的红烧排骨,一边用手机刷着各大网站的图书打折消息。自言自语的模式瞬...
    花花晨阅读 1,742评论 0 1
  • 我想起了之前听过的那句话:缘深缘浅,路长路短,看见就好。但是提笔落下,只写下一句——“希望你一帆风顺”。 母胎单身...
    Istillalive阅读 1,072评论 1 0
  • 99期双色球鑫鑫预测 十五红码:02.05.08.10.11.13.18.19.20.22.23.26.28.30...
    eb50d8ec7ef0阅读 5,081评论 1 1

友情链接更多精彩内容