一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 714|回复: 12
收起左侧

[编程题] 小白自己想起来一道题 求大神解答~~

[复制链接] |试试Instant~ |关注本帖
sherry900105 发表于 2014-12-15 11:34:18 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
有不一定多长的一串string, for example: abc
然后要每一位都换成大写, 以下都是可以的: Abc, aBc, abC, ABc, AbC, aBC, ABC

自己想了好久都没想出来应该怎么做。。求大神解答
Adeath 发表于 2014-12-15 12:51:05 | 显示全部楼层
本帖最后由 Adeath 于 2014-12-15 12:54 编辑

又见lz。。
combinations/subsets变种
  1. void cap(String str){
  2. if (str==null) return;
  3. cap(str.toCharArray(), 0);
  4. }
  5. void cap(char[] arr, int st){
  6. if (st==arr.length) return;  // already finish all cases
  7. for (int i=st; i<arr.length; i++){
  8. arr[i]=Character.toUpperCase(arr[i]);  //  replace first capital char
  9. System.out.println(arr);   
  10. cap(arr, i+1);  // find all possible sequence start from i+1
  11. arr[i]=Character.toLowerCase(arr[i]);  // change char back to lower case
  12. }
  13. }
复制代码
回复 支持 反对

使用道具 举报

王可雪 发表于 2014-12-15 13:47:29 | 显示全部楼层
本帖最后由 王可雪 于 2014-12-15 13:50 编辑

能不能满足妳?头像有点师奶的味道。
  1. #include <string>
  2. #include <iostream>
  3. #include <vector>
  4. #include <algorithm>
  5. #include <functional>
  6. using std::string;
  7. using std::vector;
  8. using std::sort;

  9. void cap_helper(string &s, vector<string> &r, int pos) {
  10.         if (pos == s.size())
  11.                 return;
  12.         int i;
  13.         for (i = pos; i < s.size(); i++) {
  14.                 s[i] = s[i] + 'A' - 'a';
  15.                 r.push_back(s);
  16.                 cap_helper(s, r, i+1);
  17.                 s[i] = s[i] - 'A' + 'a';
  18.         }
  19. }

  20. vector<string> cap(string s) {
  21.         vector<string> r;
  22.         cap_helper(s, r, 0);
  23.         return r;
  24. }

  25. int main() {
  26.         std::string s("abc");
  27.         vector<string> t = cap(s);
  28.         sort(t.begin(), t.end(), std::greater<string>());
  29.         for (auto ti : t)
  30.                 std::cout << ti << " ";
  31.         std::cout << std::endl;
  32. }
复制代码
回复 支持 反对

使用道具 举报

王可雪 发表于 2014-12-16 02:48:37 | 显示全部楼层
Adeath 发表于 2014-12-15 12:51
又见lz。。
combinations/subsets变种

你头像是谁?
回复 支持 反对

使用道具 举报

 楼主| sherry900105 发表于 2014-12-16 03:41:35 | 显示全部楼层

头像是本科的时候同学给我画的肖像画啊。。。
回复 支持 反对

使用道具 举报

 楼主| sherry900105 发表于 2014-12-16 03:45:25 | 显示全部楼层
Adeath 发表于 2014-12-15 12:51
又见lz。。
combinations/subsets变种

谢谢大神!这几天在准备Epic的OA。。大部分题都没问题。。有几道难题真的是怎么做都做不出来啊。。正郁闷呢。。
回复 支持 反对

使用道具 举报

 楼主| sherry900105 发表于 2014-12-16 03:49:28 | 显示全部楼层
sherry900105 发表于 2014-12-16 03:41
头像是本科的时候同学给我画的肖像画啊。。。

btw。。。师奶是谁。。0 0
回复 支持 反对

使用道具 举报

Adeath 发表于 2014-12-16 03:56:15 | 显示全部楼层

八云紫       字数字数
回复 支持 反对

使用道具 举报

Adeath 发表于 2014-12-16 04:01:02 | 显示全部楼层
sherry900105 发表于 2014-12-16 03:45
谢谢大神!这几天在准备Epic的OA。。大部分题都没问题。。有几道难题真的是怎么做都做不出来啊。。正郁闷 ...

http://www.1point3acres.com/bbs/thread-110249-1-1.html
这里有我准备的时候写过的十几道题   可以参考下
我正在去onsite的路上。。
回复 支持 反对

使用道具 举报

王可雪 发表于 2014-12-16 09:43:04 | 显示全部楼层
sherry900105 发表于 2014-12-16 03:49
btw。。。师奶是谁。。0 0

http://images.baidu.com/i?ct=503 ... AzdH3Fpdz1j3xrcjdrB
链接是诗乃的图片。
回复 支持 反对

使用道具 举报

王可雪 发表于 2014-12-16 09:44:16 | 显示全部楼层
sherry900105 发表于 2014-12-16 03:49
btw。。。师奶是谁。。0 0

百度图片“朝田诗乃 现实”, 第一个就是诗乃在现实中的样子
回复 支持 反对

使用道具 举报

王可雪 发表于 2014-12-16 10:07:41 | 显示全部楼层
sherry900105 发表于 2014-12-16 03:49
btw。。。师奶是谁。。0 0


                               
登录/注册后可看大图
回复 支持 反对

使用道具 举报

GavinZZZ 发表于 2015-3-14 07:45:54 | 显示全部楼层
楼主头像这么漂亮,忍不住答一发哈哈哈
可以用一个整型数(integer)的二进制做标记。如果已知字符串是abc,那么从0循环到7,对应二进制是(000 ~ 111)
再对应每个数字,相应位置上如果是1,则大写,否则小写。
当然,这样只能解决长度较短的字符串(int的长度),不过你也可以想办法扩展嘛~
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-9 06:29

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表