[LeetCode]38. Count and Say

[HackerRank]Merge Sort Counting Inversions Merge Sort: Counting Inversions 这道题设定了一个情景,但其实是让我们复习merge sort。那么我们就来复习一下merge sort。 Merge sort的思想是先把数组分段,递归进行mergesort,再合并起来。有一个细节,在合并的过程中,可以借助合并的两段都是sort好的数列,利用这一特性合并起来会较快一些。送上伪代码: MergeSort(ar... 阅读详情

38. Count and Say

这题最开始题目没看懂。看懂后发现和Cracking the Coding Interview里面的字符串压缩的题目(1.6)很像,就是计算一个数字重复几次,然后打印重复的数量和该数字。
在字符串压缩的题目中,我用了好几个if判断,这次看了http://www.cnblogs.com/grandyang/p/4086299.html把循环优化为while,代码要简洁不少。

class Solution {
public:
    string countAndSay(int n) {
        if(n <= 0 ) return "";
        string last = "1";
        while(--n){
            string cur = "";
            for (int i = 0; i < last.size(); i++){
                int cnt = 1;
                while (i+1<last.size() && last[i]==last[i+1]){
                    cnt++;
                    i++;
                }
                cur += to_string(cnt)+last[i];
            }
            last = cur;
        }
        return last;
    }
};
告别环境依赖!用PyInstaller把PaddleOCR项目打包成独立EXE(附完整spec文件配置) 本文详细介绍了如何使用PyInstaller将PaddleOCR项目打包成独立EXE文件,彻底解决Python环境依赖问题。通过完整的spec文件配置和实战技巧,开发者可以轻松创建开箱即用的OCR工具,特别适合需要交付给非技术用户的场景。文章涵盖环境配置、模型打包、性能优化等关键环节,并提供了解决常见问题的方案。 阅读详情

相关推荐

【RandLA-Net实战】从零构建隧道点云数据集并训练大场景语义分割模型

本文详细介绍了如何使用RandLA-Net构建隧道点云数据集并进行大场景语义分割模型训练。从数据采集、标注到模型训练与优化,提供了完整的实战指南,特别针对隧道场景的特殊挑战提出了解决方案。通过实际案例展示了RandLA-Net在处理大场景点云数据时的高效性和准确性,为隧道巡检等工程应用提供了可靠的技术支持。

weixin_30485379的博客 89

LeetCode38——Count and Say

LeetCode38——Count and Say 上一题对我来说实在太凶残了,所以我还是缓缓先做38题好了。。。 题意: 可以理解为求一个数组的第n项,而这个数组的通项公式可以这样理解: 第1项:1 第2项:11 第3项:21 第4项:1211 第5项:111221 第6项:312211 ... ... 第n项:第n-1项的数字串从左到右读出来。

上善若水 4484

备考软考嵌入式系统设计师学习资料

是我备考2025年软考嵌入式系统设计师的学习资料,包含历年真题和答案,还有2025年的教程,考试大纲

LeetCode 38 -- Count and Say

LeetCode 38 -- Count and Say The count-and-say sequence is the sequence of integers beginning as follows: 1, 11, 21, 1211, 111221, ... 1 is read off as "one 1" or 11. 11 is read off as

yiayia070614的博客 297

Leetcode1-100: 38. Count and Say

Leetcode1-100: 38. Count and Say问题描述解题思路代码实现 问题描述 题目要求: 输入一个数字,输出这个数字代表的count-and-say字符串,注意每个数字对应的字符串需要根据上一个数字的字符串来得出(例如4对应的是1211,就是1个1,1个2,2个1,所以5对应的字符串就是111221) 解题思路 比较简单,直接brute force,迭代从1往后解,每次把上一个的结果最后下一个的输入来做即可。 代码实现 public String countAndSay(int n)

Y123iwantit的博客 299

LeetCode Notes_#38 Count and Say

LeetCode Notes_#38 Count and SayLeetCode Contents 题目思路和解答题意思路解答总结 题目 The count-and-say sequence is the sequence of integers with the first five terms as following: 1.1 2.11 3.21 4.1211 5...

baji9701的博客 178

LeetCode - 38. Count and Say(36ms)

LeetCode - 38. Count and Say(36ms) The count-and-say sequence is the sequence of integers with the first five terms as following: 1....

dichunpu6524的博客 139

leetcode 38. Count and Say

leetcode 38. Count and Say 题目大意:读出每个字符串。譬如说 1 读作 11 11 读作 21 21 读作 1211

编码之路 368

Leetcode题解-38. Count and Say

Leetcode题解-38. Count and Say题目The count-and-say sequence is the sequence of integers with the first five terms as following: 1 11 21 1211 111221 1 is read off as “one 1” or 11. 11 is read off as “two

hzw2945的博客 290

LeetCode集锦(十二) - 第38Count and Say

LeetCode集锦(十二) - 第38Count and Say 问题 The count-and-say sequence is the sequence of integers with the first five terms as following: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1 is ...

weixin_34361881的博客 136

leetcode38. Count and Say

leetcode38. Count and Say

慕鹞 187

堆,堆在C++中用法

Heap 堆有最大堆与最小堆,也有对应的push和pop操作。在最大堆中,最大的元素在堆顶,pop会将最大的元素推出, 最小堆则反之。 C++中的用法 C++中的堆,要基于向量使用。操作基于三个函数std::make_heap,std::push_heap,std::pop_heap,并且要配合push_back与pop_back使用。需要#include &lt;algorithm&g...

JOHZEN 1334

[HackerRank]BFS Shortest Reach in a Graph

BFS: Shortest Reach in a Graph Challenge Name: BFS: Shortest Reach in a Graph Consider an undirected graph consisting of nnn nodes where each node is labeled from 111 to nnn and the edge betw...

JOHZEN 759

[HackerRank]Tries Contacts

Tries: Contacts 这题让我门建立一个树来存电话簿的名字,并能够返回以某一字符串开头的名字有多少个。 难点在与自己建立一个数据结构。我的方法是建立一个字符树,每个节点存下有几个children,以及一个hash表,用于索引之后的字符。如下: struct wordTree{ int cnt; unordered_map&lt;char, wordTree*&g...

JOHZEN 643

[HackerRank]Sorting Comparator

Sorting: Comparator 这道题让我们将分数从大到小排序,遇到分数相同时候,按名字字母从小到大排序。 一开始我还想着要手写一个快速排序,后来发现这道题其实是一个教学,教我们字母自定义比较函数,并用于STL的函数中。 这样一来思路就很清晰了,比较函数很简单,如果分数高,或者分数相同但字母小,则返回true。 bool comp(Player&amp; a, Player&a...

JOHZEN 447

[LeetCode]37. Sudoku Solver

37. Sudoku Solver 求解数独。前两天做了验证数独那道题,当时对于遍历hash的使用有了一些感悟,但看这道题时候特别头疼。这两天HackerRank也刷了一下,对于DFS和BFS的理解加深了一些,渐渐的思路就变得清晰。其实是很暴力的解法,但把他转化为代码,对几天前的我来说还有一些难度。经过这两天的学习,总算是可以勉强完成,但参考别人的答案后,果然进步空间还比较大。 我之前的版本,...

JOHZEN 420

[LeetCode]39. Combination Sum

39. Combination Sum 题目要求列出所有的可能情况,我也想到了要使用递归去解决,但具体的方法却很头疼,依旧是参考了大佬的答案,豁然开朗http://www.cnblogs.com/grandyang/p/4419259.html。 DFS中start变量的引用可以防止递归的答案重复,很优秀。 正如大佬所说,返回所有符合要求的解的题目就想到递归,而思路多相似,要新写一个递归的函...

JOHZEN 367

[LeetCode]43. Multiply Strings

43. Multiply Strings 这道题要做的是将两个写成了string的数字相乘,思路很清晰,就是手算乘法的式子。我的想法是把这个过程模块化,写作一个字符乘以一个string和错位相加两个部分,可能实力还有欠缺写的不是很简洁。 class Solution { public: string multiply(string num1, string num2) { ...

JOHZEN 336

[LeetCode] 32. Longest Valid Parentheses

Longest Valid Parentheses class Solution { public: int longestValidParentheses(string s) { stack&amp;amp;amp;lt;int&amp;amp;amp;gt; stk; int res = 0; int start = 0; for (int i = 0; i&amp;amp;amp;...

JOHZEN 331
上一篇: [LeetCode]36. Valid Sudoku
下一篇: [LeetCode]39. Combination Sum
jinnsjj
博客等级 码龄14年 42粉丝 37原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值