
重庆平台网站建设费用,免费观看电视剧软件,pdf转wordpress,微网建设管理系统字符串处理
逆转字符串
将字符串倒序输出
function reverseString(str: string) {return [...str].reverse().join();
}
console.log(reverseString(hello)); // ollehvoid reverseString(std…
字符串处理
逆转字符串
将字符串倒序输出
function reverseString(str: string) {return [...str].reverse().join('');
}
console.log(reverseString("hello")); // "olleh"void reverseString(std::string s) {int left = 0;int right = s.length() - 1;while (left right) {std::swap(s[left], s[right]);left++;right--;}
}
int main() {std::string s = "hello";// std::reverse(s.begin(), s.end());reverseString(s);std::cout s std::endl; // ollehreturn 0;
}统计字符串中出现最多的字符
寻找字符串中重复次数最多的字符
function maxOccurChar(str: string) {const map = new Map();let maxChar = '';let maxCount = 0;for (let char of str) {let count = (map.get(char) || 0) + 1;map.set(char, count);if (count maxCount) {maxCount = count;maxChar = char;}}return maxChar;
}console.log(maxOccurChar("aaabbc")); // achar maxOccurChar(const std::string s) {std::unordered_mapchar, int map ;char maxChar = 0;int maxCount = 0;for (const char c : s) {map[c] ++;if (map[c] maxCount) {maxCount = map[c];maxChar = c;}}return maxChar;
}
int main() {std::cout maxOccurChar("aaabbc") std::endl; // truereturn 0;
}验证回文串
判断字符串忽略大小写和非字母数字字符后,是否正反读都一样
function isPalindrome(s: string) {const cleaned = s.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();let left = 0, right = cleaned.length - 1;while (left right) {if (cleaned[left] !== cleaned[right]) return false;left++;right--;}return true;
}console.log(isPalindrome("abbba"));bool isPalindrome(const std::string s) {int left = 0;int right = s.length() - 1;while (left right) {while (left right !std::isalnum(s[left]))left++;while (left right !std::isalnum(s[right]))right--;if (std::tolower(s[left]) != std::tolower(s[right])) {return false;}left++;right--;}return true;
}int main() {bool ret = isPalindrome("A man, a plan, a canal: Panama");std::cout std::boolalpha ret std::endl; // truereturn 0;
}搜索
DFS
BFS
排序
快速排序(递归版)
function quickSortSimple(arr: number[]): number[] {if (arr.length = 1) {return arr;}const pivot = arr[Math.floor(arr.length / 2)];const left = arr.filter(item = item pivot);const middle = arr.filter(item = item === pivot);const right = arr.filter(item = item pivot);return [...quickSortSimple(left), ...middle, ...quickSortSimple(right)];
}const list = [8, 3, 1, 7, 0, 10, 2];
console.log(quickSortSimple(list));template typename T
void quick_sort(typename std::vectorT::iterator first,typename std::vectorT::iterator last) {if (first = last)return;auto pivot = *first;auto left = first;auto right = last - 1;while (left right) {while (left right *right = pivot)--right;*left = *right;while (left right *left = pivot)++left;*right = *left;}*left = pivot;quick_sortT(first, left);quick_sortT(left + 1, last);
}int main() {std::vectorint data = {8, 3, 1, 7, 0, 10, 2};quick_sortint(data.begin(), data.end());for (const auto num : data) {std::cout num " ";}std::cout std::endl;return 0;
}Leetcode
TwoSum
function twoSum(nums: number[], target: number) : [number, number] {const map = new Map()for (let i=0; inums.length; i++) {const c = target - nums[i]if (map.has(c)) {return [i, map.get(c)]}map.set(nums[i], i);}return [0, 0]
}
const ret = twoSum([8, 3, 1, 7, 0, 10, 2], 9) std::pairint, int twoSum(std::vectorint nums, int target) {std::unordered_mapint, int map;for (int i = 0; i nums.size(); i++) {auto iter = map.find(target - nums[i]);if (iter != map.end()) {return {iter-second, i};}map.insert(std::pairint, int(nums[i], i));}return {};
}int main() {std::vectorint nums = {8, 3, 1, 7, 0, 10, 2};std::pairint, int res = twoSum(nums, 9);std::cout res.first "\t" res.second std::endl;return 0;
}