数组按数字出现频次排序 题目同时也是百度2018秋招的笔试题,LeetCode 451–根据字符出现频率排序的变形题意为从一个乱序数组中,将其中的整数按照出现的频次多少来排列,比如输入为[1,2,1,2,3,3,1,6,4,4,4,4],那么输出就应该为[4,4,4,4,1,1,1,2,2,3,3,6],其中,如果某两个数字的出现频次相同,那么就按照输入用例中的原顺序排列#include <iostre...
LeetCode--459 重复的子字符串 题目给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例示例 1:输入: "abab"输出: True解释: 可由子字符串 "ab" 重复两次构成。示例 2:输入: "aba"输出: False示例 3:输入: "abcabcabcabc"输出: True解释: 可由子字符串 "a...
LeetCode--5 最长回文子串 题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"class Solution { int expendaroundcenter(string s,int left,int righ...
常见排序算法总结 一、什么是排序 二、排序算法分类 三、排序算法分析 四、排序时间和空间复杂度总结一、什么是排序参考博客:https://blog.csdn.net/xiazdong/article/details/7304239 排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。 1.可以分为 稳定/不稳定。 稳定:如果a=b,排序前,a就在b前面,...
LeetCode 892--三维形体的表面积 题目在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。请你返回最终形体的表面积。示例示例 1:输入:[[2]]输出:10示例 2:输入:[[1,2],[3,4]]输出:34示例 3:输入:[[1,0],[0,2]]输出:16示例 4:输入:[...
LeetCode 451--根据字符出现频率排序 题目给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例示例 1:输入:"tree"输出:"eert"解释:'e'出现两次,'r'和't'都只出现一次。因此'e'必须出现在'r'和't'之前。此外,"eetr"也是一个有效的答案。示例 2:输入:"cccaaa"输出:"cccaaa"解释:'c'和'a'都出现三次。此外,"aaaccc"也是有效的答案...
剑指offer(C++)--对称的二叉树 题目请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。非递归/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left...