由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - LC的难度级别怎么定的?
相关主题
问个 paypal 的题目 (转载)请教,c++ primer plus是要先看完再刷题吗?
leetcode上zigzag converstion那题怎么才能通过large?bloomberg onsite & offer
zigzag 这个题考什么算法或数据结构。[合集] bloomberg面试教训
攒个人品,发个google电话面试题一个基本的string问题
这道题好像有点难问个bit struct的面试题 急
再发两道F电面题请教operator const char*() 的问题
分享NVIDIA的第一轮面试题问一个精华区里的题目
一道难题中国人面试果然很好人
相关话题的讨论汇总
话题: nrows话题: int话题: group话题: const话题: idx
进入JobHunting版参与讨论
1 (共1页)
A*******e
发帖数: 2419
1
不会是只看最优解的长度吧?
那两道Excel的题,如果想不到变形十进制,写起来很繁琐。还有那个zigzag
conversion,代码不长,但数组下标很容易算错。
A*******e
发帖数: 2419
2
写了一个zigzag,通过了测试,但运行时间在C++里算慢的,相当于C#的水平。谁有更
简洁的
解法?index计算太容易错了,必须在纸上分析清楚才行。
class Solution {
public:
string convert(string s, int nRows) {
if (nRows == 1) {
return s;
}
vector char_rank;
for (int i = 0; i < s.size(); ++i) {
char_rank.push_back({s[i], GetNewIndex(i, nRows)});
}
sort(char_rank.begin(), char_rank.end(), CharRankComp());

string result;
for (const auto& it : char_rank) {
result.push_back(it.c);
}
return result;
}

private:
struct CharRank {
char c;
pair rank;
};

struct CharRankComp {
bool operator()(const CharRank& x, const CharRank& y) {
return (x.rank.first < y.rank.first) ||
(x.rank.first == y.rank.first && x.rank.second < y.rank.
second);
}
};
// Given the global index of a char, find its new index in the zig zag
form.
pair GetNewIndex(int index, int nRows) {
const int group_size = 2 * (nRows - 1);
const int group_id = index / group_size;
const int group_idx = index % group_size;
const int row = group_idx < nRows ?
group_idx : group_size - group_idx;
const int col = group_id * (nRows - 1) +
(group_idx < nRows ? 0 : group_idx - (nRows - 1));
return make_pair(row, col);
}
};

【在 A*******e 的大作中提到】
: 不会是只看最优解的长度吧?
: 那两道Excel的题,如果想不到变形十进制,写起来很繁琐。还有那个zigzag
: conversion,代码不长,但数组下标很容易算错。

1 (共1页)
进入JobHunting版参与讨论
相关主题
中国人面试果然很好人这道题好像有点难
1道brianbench 的题 c++再发两道F电面题
这小段code有什么问题吗?分享NVIDIA的第一轮面试题
how to access a const char array in a function一道难题
问个 paypal 的题目 (转载)请教,c++ primer plus是要先看完再刷题吗?
leetcode上zigzag converstion那题怎么才能通过large?bloomberg onsite & offer
zigzag 这个题考什么算法或数据结构。[合集] bloomberg面试教训
攒个人品,发个google电话面试题一个基本的string问题
相关话题的讨论汇总
话题: nrows话题: int话题: group话题: const话题: idx