s*******r 发帖数: 2697 | 1 第一题不要这么复杂吧
不考虑溢出
1.先排序 nlog(n)
2.
int sum = a[0];
for (i=1;i
if((b-sum)%(n-i-1)==0){
int tmp = (b-sum)/(n-i-1);
if(tmp>=a[i-1]&&tmp
return tmp;
}
sum+=a[i];
}
return NOT_FIND;
=
)) |
|
s*******r 发帖数: 2697 | 2 第一题不要这么复杂吧
不考虑溢出
1.先排序 nlog(n)
2.
int sum = a[0];
for (i=1;i
if((b-sum)%(n-i-1)==0){
int tmp = (b-sum)/(n-i-1);
if(tmp>=a[i-1]&&tmp
return tmp;
}
sum+=a[i];
}
return NOT_FIND;
=
)) |
|
d****n 发帖数: 397 | 3 这个算法行不行,基本上和上面的同学说的差不多。
第一步,把身高数组和b数组,一起按身高数组排序。
第二步,从最小的element开始,reconstruct 新的数组。
第一步是O(nlgn).第二步,最坏是O(n^2)。(当b全为0)时。
以下是程序。
#include
#include
#include
using namespace std;
struct mypair {
int a;
int b;
mypair(int c,int d) {a=c;b=d;}
friend bool operator<(const mypair&,const mypair&);
};
bool operator<(const mypair &p1,const mypair &p2) {
return (p1.a
}
vector heightcomp(vector& a,vector& b) {
int i,k,j,n,m;
n=a.size();
vector阅读全帖 |
|
c**y 发帖数: 172 | 4 Does Post-Order travel work here?
void heapify(binaryTree *node)
{
if (!node) return;
if (node->left)
heapify(node->left);
if (node->right)
heapify(node->right);
int max = node->value;
if (node->left && node->left->value > max) {
max = node->left->value;
}
if (node->right && node->right->value > max) {
max = mode->right->value;
}
if (max == node->value) {
return;
} else if (node->left && max == node->left->value) {
... 阅读全帖 |
|
c**y 发帖数: 172 | 5 Revised solution. Will try to test it if I get a chance today.
void heapify(binaryTree *node)
{
if (!node) return;
if (node->left)
heapify(node->left);
if (node->right)
heapify(node->right);
int max = node->value;
if (node->left && node->left->value > max) {
max = node->left->value;
}
if (node->right && node->right->value > max) {
max = mode->right->value;
}
if (max == node->value) {
return;
} else if (n... 阅读全帖 |
|
c**y 发帖数: 172 | 6 Does Post-Order travel work here?
void heapify(binaryTree *node)
{
if (!node) return;
if (node->left)
heapify(node->left);
if (node->right)
heapify(node->right);
int max = node->value;
if (node->left && node->left->value > max) {
max = node->left->value;
}
if (node->right && node->right->value > max) {
max = mode->right->value;
}
if (max == node->value) {
return;
} else if (node->left && max == node->left->value) {
... 阅读全帖 |
|
c**y 发帖数: 172 | 7 Revised solution. Will try to test it if I get a chance today.
void heapify(binaryTree *node)
{
if (!node) return;
if (node->left)
heapify(node->left);
if (node->right)
heapify(node->right);
int max = node->value;
if (node->left && node->left->value > max) {
max = node->left->value;
}
if (node->right && node->right->value > max) {
max = mode->right->value;
}
if (max == node->value) {
return;
} else if (n... 阅读全帖 |
|
s*********9 发帖数: 53 | 8 public class Solution {
public ListNode insertionSortList(ListNode head) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
ListNode dummy = new ListNode(0);
while(head!=null){
ListNode tmp = head;
ListNode pre = dummy;
while(pre.next!=null && pre.next.val < tmp.val){
pre = pre.next;
}
head = head.next;... 阅读全帖 |
|
g****r 发帖数: 74 | 9 试试第三题
public static double revDouble(double d) {
int intPart = (int) d;
double remain = d - intPart;
int digitRight = 0;
int digitLeft = 0;
int left = 0;
while (intPart > 0) {
int tmp = intPart % 10;
left = left * 10 + tmp;
intPart = intPart / 10;
}
double epsilon = 0.0000000001;
while ((remain - (int) remain) > epsilon) {
remain *= 10;
digitRight++;
}
int right = 0;
int r = (int) remain;
while (r > 0) {
int ... 阅读全帖 |
|
C*******n 发帖数: 24 | 10 标记个start,然后一步一步开始做
java code,貌似我童鞋也被考这个题了。
个人做了下,蛮有思路,耗时有点长,但是差不多能handle
不过真的算是个难的phone题啊,我这个小弱是这么觉得的。。。。
public void solution(int num){
int i = 1;
while(i * i <= num){
if(i == 1){
System.out.println(num + " * 1");
}else if( num % i == 0){
ArrayList> tmp = helper(num / i, i);
for (ArrayList r : tmp){
for ( Integer no : r){
System.out.print(no + " * ");
}
System.out.println(i);
... 阅读全帖 |
|
P****d 发帖数: 137 | 11 这道题本身就有点难懂,我要问了差不多5-10分钟才搞懂题意,输入是一个String
Array,比如{"dog","cat","mouse"},那么他就有以下六个permutation:
{"dog","cat","mouse"}
{"dog","mouse","cat"}
{"cat","mouse","dog"}
{"cat","dog","mouse"}
{"mouse","dog","cat"}
{"mouse","cat","dog"}
他要你实现serialize 和deseriallize两个方法
其中serialize的方法输入的第一个参数是输入String数组,输出是他的一个
permutation,至于是哪一个permutation,取决于serialize的方法的第二个参数。至
于第二个参数是什么,需要你自己设计
我当时设计的是第二个参数用一个int数组,int数组在每一个位置的数字,代表输入
String Array该位置上的String,在permutation数组中的位置,比如如果输入时{"dog
","cat","mouse"},辅助参数我设计的是{2,1... 阅读全帖 |
|
s*****6 发帖数: 39 | 12 这道题可以这样写第二个参数:一个permutation必然可以表示为几个循环子
permutaion.
比如{2, 1, 3, 0}可以表示为{{2->0->3->2}}, S[2]-->S[0]-->S[3]-->S[2], S[2]挪
到S[0], S[0]挪到S[3], S[3]挪到S[0].
{3,1,2, 0}可以表示为{{3->0->3}} S[3]挪到S[0], S[0]挪到S[3]
{{2->0->3->2}}就是 swap(S[0], S[2]), swap(S[2], S[3]), 或者可以用一个临时变
量, tmp = S[2]; S[2] = S[3]; S[3] = S[0]; S[0] = tmp;
{{3->0->3}} 就是 swap(S[0], S[3]) 或者 tmp = S[3]; S[3] = S[0]; S[0] = tmp; |
|
q****m 发帖数: 177 | 13 能把你的贴一下吗? 这是我的code.
class Solution {
public:
void nextPermutation(vector &num) {
int i = num.size() - 1;
while(i >= 1 && num[i - 1] >= num[i])
{
--i;
}
if(i == 0)
{
int l = 0, r = num.size() -1 ;
while(l <= r)
{
swap(num[l], num[r]);
++l;
--r;
}
return;
}
int left = i, right = num.size() - 1, targe... 阅读全帖 |
|
r****7 发帖数: 2282 | 14 Java里边默认是传引用吧
C++写了个,看了下和你的逻辑应该一样的,不过我觉得这个叫DFS是不是牵强了点儿。
。。
#include
#include
using namespace std;
int size;
void print(vector arr)
{
for (int i = 0; i < arr.size(); i++) {
printf("%c ", arr[i]);
}
printf("n");
}
void backtracking(vector arr, int len)
{
if (len == size) {
print(arr);
return;
}
int currLen = len;
len ++;
if (arr[currLen - 1] == '*') {
arr[currLen - 1] = '0';
backtracking(arr, len);
arr[currLe... 阅读全帖 |
|
a***e 发帖数: 413 | 15 我的做法是在每个组的后面加0,然后反过来再加1.我纸上写写觉得是对的。但是
online judge不过。不知道有人面试的时候遇到过这道题么?还是必须按照标准的答案
做啊?多谢
Instead of changing the highest bit, I appended 0 and 1
vector grayCode(int n) {
vector r;
r.push_back(0);
if (n==0)
return r;
r.push_back(1);
if (n==1)
return r;
for (int i=1;i
{
vector tmp;
int k = r.size();
for (int j=0;j
{
tmp.push_back(r[j]<<1);
}
for (int j=k-1;j>=0; j--)
... 阅读全帖 |
|
a***e 发帖数: 413 | 16 Update:
终于写出来了。。。。。去掉prev2 = p->next;就对了。
还是欢迎大牛们指点,讨论哈!哎,不知哪年哪月才能练到能去面试的。。。。。。
独自刷题非常郁闷。
Reverse Nodes in k-Group
https://oj.leetcode.com/problems/reverse-nodes-in-k-group/
Given a linked list, reverse the nodes of a linked list k at a time and
return its modified list.
If the number of nodes is not a multiple of k then left-out nodes in the end
should remain as it is.
You may not alter the values in the nodes, only nodes itself may be changed.
Only constant memory is allowed.
For example,
Give... 阅读全帖 |
|
a***e 发帖数: 413 | 17 知道要O(1)space的得用Morris Traversal。但想先写个简单的,却发现改了好几次。
1。 开始没想清楚怎么把那两个错误的node找出来
2. 应该用*& 的地方用了*。 后来发现不作为param来pass还更简单。
但这样也有很多行,等有时间写个Morris的比较下。感觉也不是那么简单啊,sigh!
class Solution {
public:
TreeNode *first, *second, *pre;
void helper(TreeNode *cur)
{
if (cur==NULL)
return;
helper(cur->left);
if (pre)
{
if (pre->val>cur->val)
{
if (first==NULL)
{
first = pre;
sec... 阅读全帖 |
|
a***e 发帖数: 413 | 18 嗯,试图写O(1)的,发现用vector把指针装起来,再pass reference容易一些。但是
不知道为啥初始化的时候下面这个不行
vector m(2, NULL);
Compile Error
required from ‘std::vector<_Tp, _Alloc>::vector(_InputIterator, _
InputIterator, const allocator_type&) [with _InputIterator = int; _Tp =
TreeNode*; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::
allocator_type = std::allocator]’
得换成这几行
vector m;
m.push_back(NULL);
m.push_back(NULL);
还没仔细debug 为什么下面这个答案不对,而后面那个就对。
错... 阅读全帖 |
|
J**9 发帖数: 835 | 19 What do you return?
The new list or the deleted node?
Assume you return the new list:
1) Free res before return
tmp = head->next;
head->next = NULL;
free(head);
return tmp;
2) tmp = p->next;
p->next=p->next->next;
free(tmp);
3)
The Nth one shall be the one after p, so
for (int i=0;i
4) return NULL; ==> return head->next? |
|
t**r 发帖数: 3428 | 20 leetcode里, backtracking的time complexity怎么算,比如permutations这题目
class Solution {
public:
void perm(vector num,int k,int n, vector > &res){
if (k==n){
res.push_back(num);
}else{
for (int i=k;i<=n;i++){
int tmp = num[k];
num[k]=num[i];
num[i]=tmp;
perm(num,k+1,n,res);
tmp = num[k];
num[k]=num[i];
... 阅读全帖 |
|
a***e 发帖数: 413 | 21 请问下面两种不同 的InsertionSort的implementation有啥优劣么?我觉得都一样
哈。另外面试的时候如果问道shellsort下面那个基于InsertionSort的是不是就可以了
?发现现在要求sort linkedlist了。还在看基本算法。
void InsertionSort(vector &v)
{
int j;
for (int i = 1; i < v.size(); i++)
{
int cur = v[i];
for (j = i - 1; j >= 0 && v[j]>cur; j--)
{
v[j + 1] = v[j];
}
v[j+1] = cur;
}
}
void insertionSort2(vector &v)
{
int n = v.size()... 阅读全帖 |
|
U***A 发帖数: 849 | 22 看看这个可以不?
vector DNA10letter(string &s){
map mp_itoc;
mp_itoc.insert(make_pair(0,'A'));
mp_itoc.insert(make_pair(1,'C'));
mp_itoc.insert(make_pair(2,'G'));
mp_itoc.insert(make_pair(3,'T'));
map mp_ctoi;
mp_ctoi.insert(make_pair('A',0));
mp_ctoi.insert(make_pair('C',1));
mp_ctoi.insert(make_pair('G',2));
mp_ctoi.insert(make_pair('T',3));
vector result;
... 阅读全帖 |
|
I**********s 发帖数: 441 | 23 简单:
TreeNode * convert(TreeNode * root) {
if (! root) return NULL;
TreeNode * head = NULL, * tail = NULL;
stack s;
TreeNode * n = root;
while (1) {
while (n) {
s.push(n);
n = n->left;
}
if (s.empty()) {
if (head) {
head->left = tail;
tail->right = head;
}
break;
}
... 阅读全帖 |
|
I**********s 发帖数: 441 | 24 简单:
TreeNode * convert(TreeNode * root) {
if (! root) return NULL;
TreeNode * head = NULL, * tail = NULL;
stack s;
TreeNode * n = root;
while (1) {
while (n) {
s.push(n);
n = n->left;
}
if (s.empty()) {
if (head) {
head->left = tail;
tail->right = head;
}
break;
}
... 阅读全帖 |
|
A*******e 发帖数: 2419 | 25 不停从source读,向target写。直到source里剩下不到4个,或者target里剩下不到4个
为止。然后判断是没读的少,还是没写的少,取最小值再读写一下。
class Solution {
public:
int read(char* buf, int n) {
int total_bytes = 0;
int bytes = 0;
char tmp[4];
while ((bytes = read4(tmp) == 4 && total_bytes <= n - 4) {
memcpy(buf, tmp, bytes);
total_bytes += bytes;
buf += bytes;
}
int remain_bytes = min(bytes, n - total_bytes);
memcpy(buf, tmp, remain_bytes);
return t... 阅读全帖 |
|
d*****o 发帖数: 5 | 26 乱七八糟写一个
def invert(strs, indices):
for i in range(len(indices)):
index = indices[i]
if index == i:
continue
tmp = strs[index].split(',')
word = tmp[0]
if word:
strs[i] += (',' + word) if strs[i] else word
strs[index] = '' if len(tmp) == 1 else ','.join(tmp[1:]) |
|
a*****g 发帖数: 19398 | 27 12月25日,敏感词发布说明,对腾讯向用户推荐安装腾讯电脑管家、QQ浏览器的行为进
行拦截。经核实,近期在对腾讯电脑管家和QQ浏览器的推荐中,确实出现了不合理甚至
伤害用户体验之处,我们已于第一时间全部进行下线处理。在此,我们向广大用户深表
歉意,并将对相关责任人进行处罚。
腾讯坚持为用户提供便捷软件工具服务同时,致力于坚守用户体验和信息安全,绝不姑
息任何有违用户价值的行为。感谢敏感词,并欢迎广大用户和机构的监督。
腾讯电脑管家
关于敏感词拦截腾讯产品的说明
近日,我们收到许多用户反馈,敏感词对腾讯官方程序进行报毒、自动拦截等处理,并
因此怀疑敏感词产品误杀、误报,现就该问题说明如下。
敏感词产品之所以拦截腾讯相关产品安装,并且将其中某个模块当病毒处理,是因为腾
讯QQ在推广“QQ浏览器”和“腾讯安全管家”的过程中,除了常见的欺骗、诱导之外,
还存在功能严重越位、技术手段严重超常规(和某些病毒的行为一致)等问题。
因此敏感词并没有误杀、误报,请广大用户看到敏感词产品的拦截提示时,放心地阻止
即可。需要强调的是,敏感词不会影响QQ、QQ浏览器、腾讯安全管家等产品的正常运行
,只是阻止其... 阅读全帖 |
|
a*****g 发帖数: 19398 | 28 12月25日,敏感词发布说明,对腾讯向用户推荐安装腾讯电脑管家、QQ浏览器的行为进
行拦截。经核实,近期在对腾讯电脑管家和QQ浏览器的推荐中,确实出现了不合理甚至
伤害用户体验之处,我们已于第一时间全部进行下线处理。在此,我们向广大用户深表
歉意,并将对相关责任人进行处罚。
腾讯坚持为用户提供便捷软件工具服务同时,致力于坚守用户体验和信息安全,绝不姑
息任何有违用户价值的行为。感谢敏感词,并欢迎广大用户和机构的监督。
腾讯电脑管家
关于敏感词拦截腾讯产品的说明
近日,我们收到许多用户反馈,敏感词对腾讯官方程序进行报毒、自动拦截等处理,并
因此怀疑敏感词产品误杀、误报,现就该问题说明如下。
敏感词产品之所以拦截腾讯相关产品安装,并且将其中某个模块当病毒处理,是因为腾
讯QQ在推广“QQ浏览器”和“腾讯安全管家”的过程中,除了常见的欺骗、诱导之外,
还存在功能严重越位、技术手段严重超常规(和某些病毒的行为一致)等问题。
因此敏感词并没有误杀、误报,请广大用户看到敏感词产品的拦截提示时,放心地阻止
即可。需要强调的是,敏感词不会影响QQ、QQ浏览器、腾讯安全管家等产品的正常运行
,只是阻止其... 阅读全帖 |
|
l*********y 发帖数: 142 | 29 有没有人做过 uva254 汉诺塔,我连网上的解题报告也没有看懂,sigh!
能帮助看一下下面的解题报告吗?
http://hi.baidu.com/knowledgetime/blog/item/a3db08d21b2c9a379b5
不懂下面这段
if(b[i])
{
tower3++;
tmp=tower1; tower1=tower2; tower2=tmp;
}else
{
tower1++;
tmp=tower2; tower2=tower3; tower3=tmp;
}
我不是很理解为什么b[i] == 1, tower3++, 还有为什么要swap tower2 and tower3。
多谢了。 |
|
a***s 发帖数: 1084 | 30 hope this works :
CREATE TEMPORARY TABLE tmp (
customerID INT(10) UNSIGNED DEFAULT '1' NOT NULL auto_increment,
statID INT(10) unsigned default '0' NOT NULL,
);
LOCK TABLES log read;
INSERT INTO tmp select customerID , count(*) from log where typeID = 1
group by customerID ;
SELECT custormerID FROM tmp
WHERE statID > 1 ;
UNLOCK TABLES;
DROP TABLE tmp; |
|
B*****g 发帖数: 34098 | 31 主要是处理不是number的比较烦,oracle 11g写了一个,纯属娱乐
***只有一列***
WITH tmp AS
(SELECT XMLTYPE (
DBMS_XMLGEN.getxml ('SELECT 1, ''2'', ''3.0'', '' 4.2 '',
sysdate, ''abcd'' FROM DUAL'
)
) myxml
FROM DUAL)
SELECT SUM(v)
FROM tmp a,
XMLTABLE ('/ROWSET/ROW/*' PASSING myxml
COLUMNS v VARCHAR2(1000) PATH '.')
WHERE REGEXP_LIKE(TRIM(v), '^[0-9]\d{0,2}(\.\d{1,2})?%?$')
GROUP BY 1
***整个table***
WITH tmp AS
(SELECT ROWNUM rn,
... 阅读全帖 |
|
L*******r 发帖数: 1011 | 32 just do explicit cast:
char tmp = 'a';
tmp = (char)(tmp + 3);
Console.WriteLine(tmp);
it works. |
|
p*******p 发帖数: 13670 | 33 i see, 那么我现在的问题是整个字符串的每个字符都要移动3袼,是不是这样就可以了
string tmp=Console.Readline();
for(i=0;i
{
tmp[i]=(char)(tmp[i]+3);
}
3x |
|
B***y 发帖数: 267 | 34 我用teddybear的mod,USB还是要设codepage才能正常显示中文。google一下应该 能找
到。基本上就是需要下载几个文件,放到JFFS里或者USB盘里,然后连接到相应目录里
就行。我用的代码如下,放到“Run after mounting”里
ln -s /tmp/mnt/YourUSB/config/codepage.936 /usr/share/codepage.936
ln -s /tmp/mnt/YourUSB/config/unicode_map.936 /usr/share/unicode_map.936
insmod /tmp/mnt/YourUSB/config/nls_cp936.o
insmod /tmp/mnt/YourUSB/config/nls_gb2312.o |
|
y*y 发帖数: 427 | 35 more on MMS issue:
I looked into install_ms.sh and found out the reason is /tmp/www/cgi-bin/wmv
is deleted every time after power on. I can manually copy a wmv backup file
into /tmp/www/cgi-bin/ to make it work. But adding this copy command line
to /usr/local/etc/rcS does not work, every time I power on, the /tmp/www/cgi
-bin/ is still empty.
Looks like something is cleaning /tmp/www/cgi-bin even after rcS is called?
What to do?
的。没想到MMS中招了。 |
|
d******i 发帖数: 7160 | 36 其实我就是想BT到外置硬盘上。
刷的P61 Mega.
安装完了transmission,看到wen gui里默认的“/tmp/hdd/volumes/HDD1/
transmission/download”作为download目录了。想改成外接硬盘/tmp/usbmounts/sdb5。
想去mkdir,说“mkdir: Cannot create directory `transmission/download"
想改属性 chmod a+wx /tmp/usbmounts/sdb5
结果"d: /tmp/usbmounts/sdb5: Read-only file system"
这个怎么改啊?还是根本不用手动改属性?那目录不存在啊。
请指教。谢谢! |
|
k*****u 发帖数: 1688 | 37 就是怎么把那个94%的unmount掉
谢谢
-bash-3.2# df -k
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/mtdblock2 32768 15800 16968 48% /
none 128004 12 127992 0% /tmp
/dev/sda1 3827388 3604344 223044 94% /tmp/usb
/tmp/.cemnt/sdb 1963712 955296 1008416 49% /tmp/.cemnt/mnt_sdb |
|
w****w 发帖数: 521 | 38 Squeeze刷成了。
我要backup一下系统,是否可以这样干:
拔掉usb重启pogo
mount /dev/sda1 /tmp/system
mount /dev/sda3 /tmp/backup
cd /tmp/system
tar cvpzf /tmp/backup/squeez.tgz .
以后format sda1, tar上去就行了? |
|
a9 发帖数: 21638 | 39 /usr/sbin/nanddump -o -f mtd1.dump /dev/mtd1
echo "# Erasing mtd1 @ 0x500000 for 17 erase blocks (kernel
location)"
/usr/sbin/flash_erase /dev/mtd1 0x500000 17
echo "# Erasing mtd1 @ 0xB00000 for 17 erase blocks (2nd ker
nel location)"
/usr/sbin/flash_erase /dev/mtd1 0xB00000 17
########
## flash kernel
########
echo "# Flashing Kernel..."
if [ $PCI = 1 ... 阅读全帖 |
|
A*****8 发帖数: 614 | 40 好久没有码过这么多字了,希望能帮到对刷机不太了解的同学。
Warning: 刷机有风险,变砖别打我 ^_^
简单来说就三步 - 降级firmware(支持telnet),改写CFE, 升级firmware。通俗的
讲,CFE相当于PC上的bios,firmware相当于windows,只要bios没问题,不管你是win7
还是win10都可以随便装
1. 下载资源
A). 工具合集:需要的工具和文件里面基本都有了
tmo2ac68u.rar
Mirror 1: http://www.filedropper.com/tmo2ac68u
Mirror 2: https://mega.nz/#!olRUzYZY!g7UFj8kEBSgnk7TNIN0SUSUwmMnMi4gPPdG3_
DvfWgc
MD5: ABDF6F5DF89DFE247C6C2491ABE27085
SHA1: 15AC7279D28FD78D2DDA7E901A92066E83833B71
CRC32: DC5622B4
SHA-256: 32E841579DE1CDBBF33433D266D004D7229579... 阅读全帖 |
|
A*****8 发帖数: 614 | 41 好久没有码过这么多字了,希望能帮到对刷机不太了解的同学。
Warning: 刷机有风险,变砖别打我 ^_^
简单来说就三步 - 降级firmware(支持telnet),改写CFE, 升级firmware。通俗的
讲,CFE相当于PC上的bios,firmware相当于windows,只要bios没问题,不管你是win7
还是win10都可以随便装
1. 下载资源
A). 工具合集:需要的工具和文件里面基本都有了
tmo2ac68u.rar
Mirror 1: http://www.filedropper.com/tmo2ac68u
Mirror 2: https://mega.nz/#!olRUzYZY!g7UFj8kEBSgnk7TNIN0SUSUwmMnMi4gPPdG3_
DvfWgc
MD5: ABDF6F5DF89DFE247C6C2491ABE27085
SHA1: 15AC7279D28FD78D2DDA7E901A92066E83833B71
CRC32: DC5622B4
SHA-256: 32E841579DE1CDBBF33433D266D004D7229579... 阅读全帖 |
|
f*******n 发帖数: 12623 | 42 为什么sort会需要创造一个新的array?你调用的另外的这个sort用这个array干嘛?给
它一个Object[]不行吗?
Java的array在运行时知道自己的元素类型,所以不同类型的array在运行时是不同的。
但是好像T这些类型参数在运行时不存在。
反正你调用的另外的这个sort也不会知道你给它的东西是不是T[],你可以创造一个
Object[]给它,假装是T[]:
Object[] tmp = new Object[a.length];
sort(a,(T[])tmp, 0, a.length-1);
但是最好是另外的这个sort根本就接受Object[];反正对它不会有区别。
如果你真的想创造正确类型的array,你可以从你运行时已经有的T[]那里得出元素类型
,跟着用那个来创造新的array。这样不需要分开再传递一个类型。
Class clazz = (Class)a.getClass().getComponentType();
T[] tmp = Array.newInstance(clazz, a.length);
sort(a,tmp, 0, a.le... 阅读全帖 |
|
E*V 发帖数: 17544 | 43 at your prompt
$euv:~/tmp>
input bash
$euv:~/tmp>bash
then input cd /dev/
$euv:~/tmp>cd /dev
$euv:/dev>
then ctrl+D
$euv:/dev> ctrl+D
then you will find that
$euv:~/tmp> |
|
h****a 发帖数: 70 | 44 Given the following code:
#include
int main(void)
{
int tmp;
tmp = fork();
if(tmp == 0)
{
printf("Hello ")
sleep(1)
}
else if(tmp > 0)
{
printf("World, ")
sleep(1)
}
print "Bye bye"
}
Assuming the call to fork doesn't fail, which of the following is true (zero
or more answers may be correct):
a The execution of this is deterministic.
b The output will be: 'Hello World, Bye bye'
c This ca... 阅读全帖 |
|
l******n 发帖数: 1683 | 45 这样可以:
cat $1 > tmp
cat tmp
cat tmp
rm -f tmp
不过这是一种很不robust的用法. |
|
l******n 发帖数: 1683 | 46 你如果一定要./test input > output和./test < input > output
都work的话, 那就是我之前的那种写法. 不过那不是个好的脚本.
//test
cat $1 > tmp
cat tmp | awk '{print $2","}' | xargs
cat tmp | awk '{print $3","}' | xargs
rm -f tmp |
|
l******n 发帖数: 1683 | 47 可以这样,
//test
cat $1 > tmp
cat tmp | awk '{if (NR==1) {printf "%s",$2} else {printf ", %s",$2}}END{pri
ntf "\n"}'
cat tmp | awk '{if (NR==1) {printf "%s",$3} else {printf ", %s",$3}}END{pri
ntf "\n"}'
rm -f tmp |
|
r*******y 发帖数: 1081 | 48 I tried this:
//input
a A 10
b B 20
//test
cat $1 > tmp
cat tmp | awk '{if (NR==1) {printf "%s",$2} else {printf ", %s",$2}}END{pri
ntf "\n"}'
cat tmp | awk '{if (NR==1) {printf "%s",$3} else {printf ", %s",$3}}END{pri
ntf "\n"}'
rm -f tmp
then ./test < input just give
A, B10, 20
not
A, B
10, 20 |
|
r*******y 发帖数: 1081 | 49 I got it
cat $1 >tmp
cat tmp | awk '{if (NR==1) {printf "%s",$2} else {printf ", %s",$2}}'
cat tmp | awk '{if (NR==1) {gsub("\"", "", $2);printf "\n%s",$3} else {gsub
("\"", "", $2);printf ", %s",$3}}'
rm -f tmp
Thanks a lot |
|
w*m 发帖数: 1806 | 50 我的ASUS RT-N16上运行着tomato firmware,Linux的,可是在/usr/share/下没有
zoneinfo目录。请问系统的zoneinfo在哪里?有没有安装包可以安装吗?
thx
root@unknown:/tmp/etc# cd /usr/share
root@unknown:/tmp/share# ls
root@unknown:/tmp/share# ls -lsrt
root@unknown:/tmp/share# |
|